回顾:DI,指bean之间依赖关系的建立。
下面,Service的bean使用到了Dao的bean。那么,Service对象中,如何创建(注入)Dao对象呢?
01:删除new的方式
02:提供对应的set方法
public class BookServiceImpl implements BookService {
//1
private BookDao bookDao;
public void save() {
System.out.println("book service save ...");
bookDao.save();
}
//2
public void setBookDao(BookDao bookDao) {
this.bookDao = bookDao;
}
}
03:配置server与dao的关系
property标签:配置当前bean的属性
- name属性:set后面的名字,setBookDao => bookDao
- ref属性:当前容器中的bean
在如下xml文件中,service bean里,通过property标签“注入”了dao bean
<bean id="bookDao" class="com.itheima.dao.impl.BookDaoImpl"/>
<bean id="bookService" class="com.itheima.service.impl.BookServiceImpl">
<property name="bookDao" ref="bookDao"/>
</bean>