spring容器 - applicationContext.xml
Dao层 = 持久层 - UserDao.java(接口)
业务层 - UserServiceImpl.java --> UserService.java(接口)
web层 - UserController.java
依赖注入IOC(控制反转)的具体实现


Service需要Dao的依赖注入
没有用依赖注入时的 Service 部分代码 —— UserServiceImpl.java:
public void save() {
ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml");
// 参数即xml配置文件的名称
UserDao userDao = (UserDao) app.getBean("userDao");
userDao.save();
}
业务层和持久层的依赖关系,在使用 Spring 后,就让 Spring 自己维护。
未使用 Spring 时,我们要在业务层定义持久层的对象。
使用 Spring 后,我们就不需要在业务层定义对象了。
有依赖注入后的的业务层部分代码 - UserServiceImpl.java
public void save() {
// 有 Dao 注入 Service, set 方法,下面的代码不需要了
// 不用从容器当中获得 Dao,因为在容器内部已经将 Dao 注给我了(通过 set 方法)
// ApplicationContext app = new ClassPathXmlApplicationContext("applicationContext.xml"); // 参数即xml配置文件的名称
// UserDao userDao = (UserDao) app.getBean("userDao");
userDao

本文探讨了如何在Spring框架中利用依赖注入(IOC)通过set方法实现在业务层UserServiceImpl与持久层UserDao之间的依赖关系。不再需要在业务层手动创建对象,而是由Spring容器负责管理和维护对象的创建与注入。
最低0.47元/天 解锁文章
1315

被折叠的 条评论
为什么被折叠?



