
spring
文章平均质量分 91
yonyou_xyl
这个作者很懒,什么都没留下…
展开
-
手把手利用实战代码带你读懂Spring的事务传播行为
结果解析:insertStudent(),insertClassByException() 方法执行时,外部方法事务被挂起,内部方法会新建事务,直至该方法执行结束,恢复外部方法事务执行。结果:外围方法开启事务,内部方法加入外围方法事务,内部方法抛出异常回滚,即使方法被 catch 不被外围方法感知,整个事务依然回滚。由于外部方法并没有开启事务,所以内部方法均在自己的事务提交或者回滚,因此外部方法中存在异常,内部方法事务不会回滚。方法,则以非事务执行,即使后面存在异常情况,执行操作结果不会触发事务回滚机制。原创 2023-03-17 15:55:10 · 451 阅读 · 0 评论 -
拦截器是基于反射还是动态代理来实现的?
话说拦截器,功力不够,体会不到哪里用到了反射或者动态代理,用反射也就是 Spring 创建拦截器对象的时候,不能说这就是基于反射了吧?那动态代理在拦截器中连个影子都找不到,哪里有?当你不知道答案的时候,就看看源码,源码不会忽悠人。原创 2023-03-17 14:38:45 · 973 阅读 · 4 评论 -
Cglib与JDK动态代理
首先看两个面试经常会遇到的关于Spring的问题:@Configuration和@Component注解的不同@Configuration修饰的类会被Cglib动态代理,在类内部方法相互调用添加了@Bean注解的方法时通过在切面方法中调用getBean()方法来保证调用该方法返回的都是同一个实例@Component修饰的类不会被代理,每次方法内部调用都会生成新的实例,这样就不能保证其生成的对象是一个单例对象。@Transactional失效的原因。原创 2023-03-17 10:42:45 · 661 阅读 · 0 评论 -
漫谈设计模式在 Spring 框架中的良好实践
在开始正文之前,请你先思考几个问题: 你项目中有使用哪些 GOF 设计模式 说一说 GOF 23 种设计模式的设计理念 说说 Spring 框架中如何实现设计模式 假设我是面试官问起了你这些面试题,你该如何回答呢,请先思考一分钟。好的,我们开始进入正题。设计模式实践里面提供了许多经久不衰的解决方案和最佳方案。这里,GOF 设计模式主要分为三大类:创建模式、结构模式和行为模式。创建模式对于创建对象实例非常有用。结构模式通过处理类或对象的组合来作用于企业级应用的设计结构,从转载 2022-02-16 10:12:37 · 145 阅读 · 0 评论