Spring好处
- 简化开发,降低企业级开发的复杂性
- 框架整合,高效整合其他技术,提高企业级应用开发与运行效率
简化开发:1、IoC、2、AOP[2.1衍生出事务处理 ]
框架整合:MyBatis、Mybatis-plus、Struts、Struts2、Hibernate …
Spring Framework系统架构
Service是业务层,Dao是数据访问层
Dao层:全称为data access object(数据访问对象),属于一种比较底层,比较基础的操作,具体到对于某个表、某个实体的增删改查
Service层:被称为服务,肯定是相比之下比较高层次的一层结构,相当于将几种操作封装起来。
Service层去调用Dao层,这样做的最大好处就是:解耦。
一、核心容器
核心概念(IoC / DI)
容器基本操作
(一)、bean
1、bean基础配置
2、bean别名配置
即定义多个名称
3、bean作用范围配置
控制bean创建的时候实例的数量,一个还是多个
4、bean实例化
创建bean的三种方法
(1)构造方法(2)静态工厂(3)实例工厂与FactoryBean
eg:(1))构造方法
eg:(2)静态工厂
eg:(3)实例工厂与FactoryBean
实例工厂的演进
5、bean生命周期
(1)概念:
(2)生命周期经历的阶段:
(3)生命周期控制有两种格式:
1、配置的格式;2、接口的形式(了解)
bean销毁时机
(二)依赖注入
1、依赖注入方式
有2x2中方式
(1)setting注入
(2)构造器注入
(3)依赖注入方式选择
(4)依赖自动装配
种类:
eg:按类型分配
(5)集合注入
无需记,配置文件打个<根据提示写
2、加载properties文件
步骤:
格式:
(三)容器
1、创建容器(2种)
2、获取bean(3种)
3、容器类层次结构
4、BeanFactory
核心容器总结
容器相关
bean相关
依赖注入相关
(四)注解开发
1、注解开发定义bean
用法
衍生注解语法:
2、纯注解开发
(老子一点配置文件都不写了(其实是使用Java类替代配置文件))
3、注解开发bean作用范围与生命周期
4、注解开发依赖注入
注解开发没有set、构造方法依赖注入方法,只有自动装配。
@Autowired:解决引用类型注入
@Qualifier:指定bean的id或名称
@Value:注入简单类型(值类型)<img
@PropertySource:加载外部配置文件
5、注解开发管理第三方bean
6、注解开发实现第三方bean注入资源
bean管理:小结
总结
二、整合
1、Spring整合MyBatis·
写法的转换
两个Bean要配置:SqlSessionFactoryBean、MapperScannerConfigurer
2、Spring整合JUnit
三、AOP
1、核心概念
AOP:面向切面编程,一种编程范式,指导开发者如何组织程序结构00P面向对象编程
作用:在不惊动原始设计的基础上为其进行功能增强
方法称作通知,这个类称作通知类
切面:在哪个切入点上执行哪个通知
案例(注解版):
2、AOP基本操作
(1)工作流程
SpringAop本质:代理模式
(2)AOP切入点表达式
语法格式:
通配符
书写技巧(不用背,写的过程体会,如何更高效)
3、AOP通知类型
eg:
⭐️重点:
4、AOP通知获取数据
eg:
5、AOP总结
四、事务
1、简介
2、事务属性
事务相关配置
事务传播行为