DI入门案例
DI入门案例思路分析
- 基于IoC管理bean
- Service中使用new形式创建的Dao对象是否保留?(否)
- Service中需要的Dao对象如何进入Service中?(提供方法)
- Service与Dao间的关系如何描述?(配置)
DI入门案例实现
删除使用new形式创建对象的代码
public class BookServiceImpl implements BookService { //5.删除业务层中使用new形式创建的dao对象 private BookDao bookDao; public void save() { bookDao.save(); } }
提供依赖对象对应的setter方法
public class BookServiceImpl implements BookService { //5.删除业务层中使用new形式创建的dao对象 private BookDao bookDao; public void save() { bookDao.save(); } //6.提供对应的set方法 public void setBookDao(BookDao bookDao) { this.bookDao = bookDao; } }
配置service与dao之间的关系
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="bookService" class="org.itheima.service.impl.BookServiceImpl"> <property name="bookDao" ref="bookDao"/> </bean> <bean id="bookDao" class="org.itheima.dao.impl.BookDaoImpl" /> </beans>