一、注入属性——外部bean
- 新建一个接口UserDao:
- 新建一个接口UserDao的实现类UserDaoImp:
- 需求:在UserService的add方法中调用接口UserDao的实现类UserDaoImp的update方法。
- 以前的做法如下
Spring方式的实现过程:
- UserDao接口和UserDaoImp类如上、不变,
- 在UserService中创建一个UserDao类型的属性,在add()方法中调用userDao.update();
- 并在bean2.xml中DI上UserDaoImp类的对象,这个过程就是注入外部bean的过程
- 创建一个测试类testDemo,进行测试
下面我们来看下bean2.xml中配置外部bean的过程:
- 注入外bean其实是注入对象类型的属性的一种方式
- 在第十行<property>中,原先注入String类型的属性值是这样:
- 现在标签的value属性变成了ref属性,ref中是 要注入的对象的bean标签的id值
- 上图第一个bean标签中注入了第二个bean标签,因为第二个bean标签在第一个bean标签外部,所以成为外部bean
二、注入属性——内部bean
bean3中就是内部bean的写法,其也可写成外部bean的写法,如下图