
spring aop
const伐伐
这个作者很懒,什么都没留下…
展开
-
通过切面为Spring bean添加新的方法
通过切面为Spring bean添加新的方法原创 2017-12-01 19:23:37 · 1403 阅读 · 0 评论 -
在spring切面中记录方法被调用次数
spring切面使用传递给被通知方法的参数原创 2017-12-01 18:47:15 · 2139 阅读 · 0 评论 -
在spring中自己实现AOP编程
在spring中自己实现AOP编程原创 2017-11-17 17:33:25 · 315 阅读 · 0 评论 -
使用spring的MethodInterceptor实现aop功能的三种方式
如果对于spring MethodInterceptor或spring aop概念不清楚,参考:spring aop, spring interceptor, springmvc interceptor有什么区别?以下是在spring boot环境下执行的在spring boot下有两种方式设置AOP(实现织入weave):1. 使用@Aspect注解2. 使用DefaultPoi...原创 2019-06-10 14:22:08 · 52945 阅读 · 10 评论 -
java中的对象代理:静态代理 动态代理及cglib代理
需求:现在外部有一个接口IUserDao,其中提供了save和find方法。IUserDao与UserDao都是写好的接口和类,不能修改我想在其实现类UserDao中方法save的执行的前后,添加逻辑功能,怎么办?另一个问题是如果外部提供的是一个不能修改的类,想在其某方法的执行的前后,添加逻辑功能,又要怎么办?解决方法是使用代理。将UserDao的行为转换为其代理类的行...原创 2017-11-17 17:28:00 · 530 阅读 · 0 评论 -
自定义spring security oauth /auth/token的返回内容格式
场景在前后端分离的项目中,一般后端返回给前端的格式是一个固定的json格式。在这个前提下,spring security oauth 生成access token的请求/auth/token的返回内容就需要自定义原返回值我们希望使用我们自己固定的json格式需求我们的BaseResponse类public class BaseResponse { pri...原创 2019-09-08 20:27:04 · 11960 阅读 · 6 评论 -
spring中使用aop机制为service package下的所有增删改方法添加事务
声明式事务又叫隐式事务,或者叫ASPECTJ事务实际工作中,spring的建议是你在具体的类(或类的方法上)使用@Transactional注解,service下每个类的每个方法都让我们加上@Transactional注解,工作量有点大,也有时候会忘,所以经常看到有开发团队配置拦截式事务只需要在我们的项目中新增一个子类AspectjTransactionConfig即可@C...原创 2019-06-04 16:10:42 · 806 阅读 · 1 评论 -
spring data jpa通过方法名称定义查询的实现机制解析
使用方法spring data jpa其实体Repository继承Repository接口,如JpaRepository等接口,也可以选择JpaSpecificationExecutor,这样就可以使用方法名称,来定义查询如List<User> findByEmailAddressAndLastname(EmailAddress emailAddress, String lastname)List<User> findDistinctPeopleByLastnameOrFi原创 2020-09-27 10:42:43 · 2782 阅读 · 2 评论 -
spring aop(MethodInterceptor), springmvc (HandlerInterceptor), servlet Filter有什么区别?
在spring中实现拦截功能时,有几个比较容易混淆的概念spring aop,spring interceptor,springmvc interceptor先总体上分析一下上面的3个术语看一下spring aop功能的继承关系图可以看到在spring中,Advice的实现接口就是Interceptor,所以可以看做:在spring中,spring aop与spring int...原创 2019-06-10 10:57:06 · 7315 阅读 · 1 评论 -
基于spring aop实现声明式注解,实现线程粒度的多数据源切换
背景希望实现多数据源切换,如某些sql的执行方案方案1:借助于JPA对双数据源的支持,根据package来区分使用哪个数据源代码参考:https://gitee.com/constfafa/spring_springboot_learning/tree/master/springboot-multi-datasource优点:简单缺点:只能做到package粒度方案2:在sql语句级别进行控制,直接采用api编程的方式,基于不同的jdbcTemplate优点:可以做到原创 2020-09-11 11:33:42 · 200 阅读 · 0 评论 -
druid aop_pattern设置不当导致GenericBeanFilter logger is null
场景:数据源使用了druid数据源,其中aop_pattern使用了com.hfi.*这种方式。之前一切正常。引入了二方库之后,发现spring boot服务无法启动,报错: [ ERROR] [2019-08-19 14:52:15] [main] org.springframework.boot.SpringApplication [839] - Application...原创 2019-08-19 16:36:10 · 1447 阅读 · 1 评论 -
spring aop源码解析3: 代理对象执行过程分析--构造拦截器链及触发拦截器链
接上一篇spring aop源码解析2: AnnotationAwareAspectJAutoProxyCreator拦截切点bean(join point)创建过程并生成proxy(在切点织入切面)的过程继续6. 代理对象执行过程分析1--构造拦截器链是如何实现先执行@Before,然后proceed,然后@After 然后@AfterReturning这样的顺序执行过程的呢?...原创 2019-06-13 14:50:50 · 672 阅读 · 0 评论 -
spring aop源码解析1: 创建、初始化并注册AnnotationAwareAspectJAutoProxyCreator
spring aop的源码解析内容比较多,准备分为三个部分:1. 创建、初始化并注册AnnotationAwareAspectJAutoProxyCreator2. AnnotationAwareAspectJAutoProxyCreator拦截切点bean(join point)创建过程并生成proxy(在切点织入切面)的过程3. 代理对象执行过程分析--构造拦截器链及触发拦截器链...原创 2019-06-13 14:23:39 · 1708 阅读 · 0 评论 -
spring aop源码解析2: AnnotationAwareAspectJAutoProxyCreator拦截切点bean(join point)创建过程并生成proxy(在切点织入切面)的过程
接上一篇spring aop源码解析1: 创建、初始化并注册AnnotationAwareAspectJAutoProxyCreator继续现在我们在容器中已经有了AnnotationAwareAspectJAutoProxyCreator这个BeanPostProcessor,那么之后我们再创建bean的时候,都会经过AnnotationAwareAspectJAutoProxyCreato...原创 2019-06-13 14:37:52 · 708 阅读 · 0 评论