自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(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关注的人

提示
确定要删除当前文章?
取消 删除