Bean的依赖注入方式:
- set方法注入
P命名空间注入本质也是set方法注入,但比起上面的set方法进行注入更加方便,主要体现在配置文件中,如下:
首先,引入P命名空间:
xmlns:p="http://www.springframework.org/schema/p"
其次,需要修改注入方式:
<bean id="userService" class="com.my.service.UserImplService" p:userDao-ref="userDao"/>
- 无参构造方式配置
public class UserImplService implements UserService {
private UserDao userDao;
public UserImplService() {
}
public UserImplService(UserDao userDao) {
this.userDao = userDao;
}
/* public void setUserDao(UserDao userDao) {
this.userDao = userDao;
}*/
@Test
public void save() {
userDao.save();
}
}
XML配置
<bean id="userService" class="com.my.service.UserImplService">
<!--这里的name是构造函数里面的参数userDao ref为容器中Bean的ID-->
<constructor-arg name="userDao" ref="userDao"></constructor-arg>
</bean>
注意:
<!--这里的name是构造函数里面的参数userDao ref为容器中Bean的ID-->
<constructor-arg name="userDao" ref="userDao"></constructor-arg>
测试
public class UserDemo {
@Test
public void mytest(){
ApplicationContext application = new ClassPathXmlApplicationContext("applicationContext.xml");
UserService userDao1 = (UserService) application.getBean("userService");
userDao1.save();
}
}