(1)Spring 是使用容器来管理 bean 对象的
主要管理项目中所使用到的类对象,比如(Service 和 Dao)
(2)如何将被管理的对象告知IoC容器
使用配置文件
(3)被管理的对象交给 IoC 容器,要想从容器中获取对象,就先得思考如何获取到 IoC 容器
Spring框架提供相应的接口
(4)IoC 容器得到后,如何从容器中获取bean?
调用Spring框架提供对应接口中的方法
- public class App2 {
- public static void main(String[] args) {
- //3.获取IOC容器
- ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
- //4.获取Bean
- BookDao bookDao = (BookDao) ctx.getBean("bookDao");
- bookDao.save();
-
- BookService bookService = (BookService) ctx.getBean("bookService");
- bookService.save();
- }
- }
(1)要想实现依赖注入,必须要基于 IoC 管理 Bean
(2)Service 中使用 new 形式创建的 Dao 对象是否保留?
需要删除掉,最终要使用 IoC 容器中的 bean 对象
(3)Service 中需要的 Dao 对象如何进入到 Service 中
在 Service 中提供方法,让 Spring 的 IoC 容器可以通过该方法传入 bean 对象
(4)Service与Dao间的关系如何描述
使用配置文件
- 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();
- }
-
- //6.提供对应的set方法
- public void setBookDao(BookDao bookDao) {
- this.bookDao = bookDao;
- }
- }