优点

  • 控制反转IOC
  • 面向切面编程AOP
  • 轻量级, 非入侵

IOC理论推导

  1. UserDao接口
  2. UserDaoImpl实现类
  3. UserService业务接口
  4. UserServiceImpl业务实现类

原来的业务中,用户的需求可能会影响原来的代码, 我们需要根据用户的需求去修改代码. 如果程序代码量十分大,修改一次的成本非常大

早期开发

  • 接口
  • 实现类
  • 业务层service调用dao层(在service中放入到的对象, 组合的思想)
  • 增加实现类, 则需要修改service层的代码
//需要直接在service实现类中new dao层的对象
private UserDao userDao = new UserDaoImpl();
private UserDao userDao = new UserDaoMysqlImpl();

IOC控制反转

  • 使用set方法, 使用哪类dao层对象, 则传入那个对象
  • 直接在MyTest中修改代码, 而不需要修改资源代码
  • 在service中修改代码和在MyTest中修改代码的区别

beans.xml配置文件

id:对象名
class:类全路径名
ref:引用spring容器中创建好的对象
value:具体的值,基本数据类型

IOC创建对象

  • 默认使用无参构造创建对象
  • 或者通过参数名来创建对象(需要有参构造, 但有参构造最终还是会调用无参构造)

   转载规则


《》 熊水斌 采用 知识共享署名 4.0 国际许可协议 进行许可。
 上一篇
Hadoop相关的Linux基础操作解压并配置环境变量创建新文件夹mkdir opt/modules 删除文件夹rm -rf filename 解压文件到指定文件夹tar -zxvf hadoop.tar.gz -C opt/modules
2023-02-04
下一篇 
Spring Boot <!-- --> sprint-boot-starter-parent <!-- 场景启动器;帮助导入web等模块正常运行所依赖的组件--> spring-boot-starter spring-boot
2023-02-04
  目录