1 IOC容器创建对象的方式
a无参构造
b带参构造
c工厂类创建对象 实例方法创建
静态方法创建
bean对像
package a_hello;
public class User {
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public User(int id, String name) {
super();
this.id = id;
this.name = name;
System.out.println("带参构造");
}
@Override
public String toString() {
return "User [id=" + id + ", name=" + name + "]";
}
public User() {
super();
System.out.println("无参构造");
}
}
1.1 无参构造
每个bean对象都有一个隐式的无参构造函数,bean文件配置
1.2 带参构造
<bean id="user" class="a_hello.User">
<constructor-arg value="100" index="0" type="int"></constructor-arg>
<constructor-arg value="jack" index="1" type="java.lang.String"></constructor-arg>
</bean>
a 带参构造参数的书写顺序要和对象的带参构造的参数顺序相同,即必须是100 Jack,否则会报错
b type类型要写全类名,字符串写Java.lang.String, 整数写int不能写Integer
2 注解使用
2.1 使用步骤
a 引入context名称空间
b 开启注解扫描
c 使用注解
@Component() 加入容器的对象的引用名称,默认第一个字母小写的类名
把对象加入容器,即创建对象,但不能处理对象间的依赖关系
@Resource() 处理对象间的依赖关系
3 对象依赖关系处理
如何给对象的属性赋值,即如何实现依赖注入
a 通过带参构造函数
b 通过set方法给属性注入值
c p名称空间
d 自动装配
e 注解