1、基于IoC 管理bean
2、Service中使用new形式创建的Dao对象是否保留?(否)
3、Service中需要的Dao对象如何进入到Service中?(提供方法)
4、Service与dao之间的关系如何描述(配置)
- 删除使用new的形式创建的对象的代码
-
package com.huahua2.service.impl; import com.huahua2.dao.BookDao; import com.huahua2.dao.impl.BookDaoImpl; import com.huahua2.service.BookService; public class BookServiceImpl implements BookService { // 5、删除业务层中使用new的方式创建的dao对象 // private BookDao bookDao = new BookDaoImpl(); private BookDao bookDao; @Override public void save() { System.out.println("book service save ..."); bookDao.save(); } }
-
- 提供依赖对象对应的setter方法
-
package com.huahua2.service.impl; import com.huahua2.dao.BookDao; import com.huahua2.dao.impl.BookDaoImpl; import com.huahua2.service.BookService; public class BookServiceImpl implements BookService { // 5、删除业务层中使用new的方式创建的dao对象 // private BookDao bookDao = new BookDaoImpl(); private BookDao bookDao; // 6、提供对应的set方法 public void setBookDao(BookDao bookDao) { this.bookDao = bookDao; } @Override public void save() { System.out.println("book service save ..."); bookDao.save(); } }
-
- 配置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"> <!-- 1、导入spring的坐标spring-context,对应版本--> <!-- 2、配置bean--> <!-- id属性表示给bean起名字--> <!-- class属性表示给bean定义类型--> <bean id="bookDao" class="com.huahua2.dao.impl.BookDaoImpl"/> <bean id="bookService" class="com.huahua2.service.impl.BookServiceImpl"> <!--7、配置service与dao的关系--> <!--property 标签表示配置当前bean的属性--> <!--name属性表示配置哪一个具体的属性--> <!-- ref 属性表示参照哪一个bean--> <property name="bookDao" ref="bookDao"/> </bean> </beans>
-