狂神说java
spring:让java 开发更容易
IOC:控制反转
AOP:面向切面编程(业务面)
2. spring组成和扩展
2.1spring 组成
Sprint AOP
ORM:对象关系映射
Context:UI界面、邮件验证等
2.4 拓展
学习路线:
- spring boot:构建一切
- 快速开发的脚手架
- 基于spring boot可以快速开发单个为服务
- 约定大于配置
- 学习这个,需要学习spring和spring MVC
- spring cloud
- springcloud基于boot
spring的缺陷:发展太久之后,违背了原有理念,配置过于复杂–>所以用spring boot
3. IOC控制反转
3.1 理论推导
UserDao
UserDaoImpl:实现类
UserService:业务接口
UserServiceImpl:业务实现类
3.1.1 问题
- 问题:以前用户每添加一个新的需求,dao要修改代码,service侧也需要修改代码
3.1.2 解决
解决:让用户自己选择实现
- 之前程序控制对象的创建
- 现在,用户控制对象的创建
- 这就是控制反转—程序员不用再管理对象的创建了,解决了根本的问题,系统耦合性降低,专注于业务的实现
3.2 IOC本质(4)
本质:控制权的变化
IOC:控制反转(Inversion of control)是一种思想,DI(依赖注入)是实现IOC的一种方式
- spring的核心内容,可用多种方式实现,可XML配置、注解,新版本可0配置实现
目标:解耦合
解耦合:
3.2.2 spring中的IOC
- spring容器:初始化时读取配置文件,根据配置文件或者元数据创建与组织对象存入容器中,程序使用时在从IOC容器中取出