spring篇(七)车迟国斗法

IOC创建对象的方式

1.使用无参构造方法创建对象,默认的!!

package com.ni.pojo;

public class User {
    private String name;
    public void User(){
        System.out.println("User的无参构造");
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void show(){
        System.out.println("name"+name );
    }
}
import com.ni.pojo.User;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Mytest {
    public static void main(String[] args) {
        //拿到beans里的东西
        ApplicationContext Context = new ClassPathXmlApplicationContext("beans.xml");
        //赋值和声明 将Context转化为user
       User  user = (User) Context.getBean("user");
       user.show();

    }
}
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd">
 <bean id="User" class="com.ni.pojo.User">
     <property name="name" value="倪勇">

     </property>
 </bean>

</beans>

2.有参构造方法创建对象
2.1下标赋值
解释一下这里的< constructor-arg >是构造方法注入xml其中的一种方法。而index是它的一种属性指标,“0”“1”表示第几个参数,“0”表示第一个参数,value表示你要给第一个参数所赋的值。

  <!--下标赋值-->
 <bean id="User" class="com.ni.pojo.User">
    <constructor-arg index="0" value="小倪喜欢吃蛋糕"/>
     <constructor-arg index="1" value="小倪不喜欢吃蛋糕"/>



 </bean>

2.2属性赋值
type也是< constructor-arg >是构造方法中的一种属性,它是通过参数的属性来给参数赋值的,比如你的属性是String那调用type会指定到属性为String的参数,再进行赋值。

 <!--属性赋值-->
   <constructor-arg type="String" value="蛋糕不好吃"/>
      

2.3直接通过参数名

 <!--直接通过参数名-->
      <constructor-arg name="user" value="蛋糕真难吃"/>

总结:在配置文件加载的时候,容器中管理的对象就已经初始化了。

分类:未分类
匿名

发表评论

匿名网友