1 set方法注入
第一步在类中生成set方法
private UserDao userDao;
public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}
public void test(){
System.out.println("UserServices test...");
userDao.test();
}
第二步在配置文件
通过property方法注入
name:bean对象中属性字段的名称 ref:指定bean标签的id属性值
<bean id="UserServices" class="org.example.UserServices.UserServices">
<property name="userDao" ref="UserDao">
</property>
</bean>
2 构造器的注入
在类中的带参方法
private UserDao01 userDao01;
public UserServices01(UserDao01 userDao01) {
this.userDao01 = userDao01;
}
public void test(){
System.out.println("UserServices test...");
userDao01.test();
}
在配置文件中构造器的写法
<bean id="UserDao01" class="org.example.UserDao.UserDao01"></bean>
<bean id="UserServices01" class="org.example.UserServices.UserServices01">
<constructor-arg name="userDao01" ref="UserDao01"></constructor-arg>
</bean>
构造器的弊端:如果两个类相互注入时,会发生循环依赖的问题,导致程序不能成功的运行。
解决方法:使用set方法注入。