Spring 核心原理
2022-10-14 09:08:05 0 举报
Spring核心原理:AOP,IOC,事务
作者其他创作
大纲/内容
事务管理器
conn.commit
代理对象
UserService类
多个
bean
dataSource
一个直接返回
推断有参构造方法
conn.autoCommit = false
1、先找出所有的切面bean(@Aspect)
class UserserviceProxy extends UserService{ UserService target;//普通对象//重写public void test(){ //先执行@Before方法 target.test();//普通对象执行该方法 //执行@After方法}}
值/对象
普通对象.执行sql
普通对象
Bean的创建生命周期
参构造方法的参数的值
代理对象.target =(普通对象)
有异常 执行conn.rollback()
InitializingBean
@AutowiredUserService user;
判断是否进行AOP
初始化
判断类中方法有没有@Transation
JDBCTemplate
看这个方法的事务是否失效:(看调用这个方法的对象是不是代理对象)
ByType
ByName
class UserserviceProxy extends UserService{ UserService target;//普通对象//重写public void test(){ //1.先判断有没有@Transation 注解 //2.创建一个数据库连接(由事务管理器 的dataSource) //3.con.autoCommit = false ;修改自动提交为fasle(手动提交) //4.开启事务 target.test();//普通对象执行sql dataSource (这里的dataSource跟事务管理器的dataSource一样才行,不然就创建新的数据库连接,不受上一个连接器conn影响) //5.conn.commit; //6.有异常 执行conn.rollback();}}
AOP
UserserviceProxy类
初始化前
生成cglb代理对象
AOP的工作原理
创建一个数据库连接
代理对象
依赖注入
推断构造方法原理
4.开启事务
3、方法匹配到(切点表达式的值) === >UserService
无参构造方法
@PostConstruct 方法
Spring容器
BeanMap
初始化后
实例化
属性填充(加了@Autowired)
Spring的事务原理
0 条评论
下一页