- 博客(5)
- 收藏
- 关注
原创 Spring事务基本执行原理
一个Bean在执行Bean的创建生命周期时,会经过InfrastructureAdvisorAutoProxyCreator的初始 化后的方法,会判断当前当前Bean对象是否和BeanFactoryTransactionAttributeSourceAdvisor匹 配,匹配逻辑为判断该Bean的类上是否存在@Transactional注解,或者类中的某个方法上是否存在 @Transactional注解,如果存在则表示该Bean需要进行动态代理产生一个代理对象作为Bean对象。5. 如果抛了异常,则回滚。
2023-12-02 18:10:45
26
原创 spring 启动原理(过程)
5. 把用户定义的ApplicationListener对象添加到ApplicationContext中,等Spring启动完了就要。2. 找到外部用户所定义的BeanPostProcessor对象(类型为BeanPostProcessor的Bean对象),由于Spring启动过程中要创建非懒加载的单例Bean对象,那么就需要用到BeanPostProcessor,所。Spring启动原理,就是构造ApplicationContext对象以及调用refresh()方法的过程。b. 解析@Import。
2023-11-30 22:51:39
71
转载 spring 事务管理
上面讲到的事务管理器接口PlatformTransactionManager通过getTransaction(TransactionDefinition definition)方法来得到事务,这个方法里面的参数是TransactionDefinition类,这个类就定义了一些基本的事务属性。Spring提供了对编程式事务和声明式事务的支持,编程式事务允许用户在代码中精确定义事务的边界如自己需要手动执行commit或者rollback,而声明式事务(基于AOP)有助于用户将操作与事务规则进行解耦。
2023-11-30 22:26:23
27
转载 @Resource和@Autowired的区别
AutoWired是spring的注解,默认的注入方式为byType(根据类型进行匹配),也就是说会优先根据接口类型去匹配并注入 Bean (接口的实现类),当一个接口存在多个实现类的话,byType这种方式就无法正确注入对象了,因为这个时候 Spring 会同时找到多个满足条件的选择,默认情况下它自己不知道选择哪一个,这个时候,注入方式会变为 byName(根据名称进行匹配),这个名称通常就是类名(首字母小写)。@Resource是Java自己的注解。二、@AutoWired。一、@Resource。
2023-11-30 22:13:21
21
原创 spring bean 生命周期 完整版
1. 启动ApplicationContext。12. BeanDefinition的后置处理。4. 执行Beanfactory后置处理器。6. 生成BeanDefintion。7. 合成BeanDefintion。3. 初始化BeanFactory。2. 创建BeanFactory。16. 执行Aware。10. 推断构造方法。
2023-11-30 21:27:34
125
1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人