首页
学习
活动
专区
工具
TVP
发布

后端技术

专栏作者
269
文章
266923
阅读量
31
订阅数
spring @Transactional原理
和aop自动配置一样,在/META-INF/spring.factories中配置有关transaction的有2个:
平凡的学生族
2020-01-02
9290
spring aop (上) aop概念、使用、动态代理原理
参考Spring AOP详细介绍 AOP(Aspect Oriented Programming)面向切面编程。面向切面,是与OOP(Object Oriented Programming)面向对象编程并列的编程思想。 通过定义切面,可以让一些业务无关的代码,与业务代码相解耦。比如要在业务方法执行前后打印日志时,我们只需定义一个切面,而不用把打印日志的代码加到业务方法中,这样就将日志打印代码和业务代码相解耦了。 它有几个概念:Aspect(切面)、JointPoint(连接点)、Advice(通知)、Pointcut(切入点)、AOP代理。概念的详细解释见Spring - 通知(Advice)和Advisor(增强器/顾问)和Spring AOP详细介绍。 切面有两种实现:Advice(通知)、Advisor(增强器)。两种实现的区别其实都是将通知和切面进行了封装,原理基本上是一样的,只是使用的方式不同而已。详情可参考<aop:aspect>与<aop:advisor>的区别。
平凡的学生族
2019-06-03
4.3K0
spring aop (上中)获取Bean的增强
postProcessAfterInitialization->wrapIfNecessary:
平凡的学生族
2019-06-03
1.4K0
spring aop (中下)创建代理
还是接着上面,AnnotationAwareAspectJAutoProxyCreator.postProcessAfterInitialization->wrapIfNecessary->createProxy内调用了proxyFactory.getProxy(getProxyClassLoader());(ProxyFactory.getProxy),getProxy内部调用了createAopProxy().getProxy(classLoader);。也就是说,外界操作的都是getProxy的返回值,一个代理对象。代理对象的方法调用会被拦截。 所以我们分析createAopProxy(DefaultAopProxyFactory.createAopProxy),它在内部内有判断。 其中的:
平凡的学生族
2019-06-03
4460
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档