springboot
文章平均质量分 64
KDoo
Javaer
展开
-
事务注解@transactional和异步调用注解@Async失效了——AOP原理解析
背景介绍在使用@Async注解时,发现在本类中调用的方法异步注解失效了,实际上还是同步调用,后定位是Spring的AOP实现方式,导致注解没有生效。动态代理两种方式Spring实现动态代理有两种方式,JDK代理和CGLIB代理。使用JDK还是CGLIB1)当Bean实现接口时,Spring就会用JDK的动态代理。2)当Bean没有实现接口时,Spring使用CGlib是实现。3)可以强制使用CGlib(在spring配置中加入<aop:aspectj-autoproxy proxy-ta原创 2021-01-16 21:02:09 · 1264 阅读 · 0 评论 -
面试官让手写动态代理实现?——JDK代理和CGLIB代理解析
什么是动态代理动态代理是相对于静态代理产生的概念。可以简单理解为,静态代理是在代码中编写好代理类,动态代理的代理类是在运行时动态生成的。使用代理一般是为了在原类中增加一些增强功能,如Spring的AOP就是通过动态代理实现的。Spring中使用动态代理有JDK代理和CGLIB代理两种实现。JDK代理和CGLIB代理区别JDK利用拦截器(拦截器必须实现InvocationHanlder)加上反射机制生成一个实现代理接口的匿名类,在调用具体方法前调用InvokeHandler来处理。CJLIB原创 2021-01-16 21:01:19 · 216 阅读 · 0 评论 -
两个SpringSecurity本地项目登录冲突问题(Cookie不区分端口号)
问题产生因为最近要做资源认证服务器,就搞了两个集成SpringSecurity的项目,在开启了loginPage("/portal/login")后,登录的时候发现了一个问题:8085端口的项目A和8080端口的项目B不可以同时登录,A登录了,B再登录就会把A的登录状态刷新掉。问题原因经过一番研究,原因是session会在浏览器保存一个cookie用来识别session,看上去没什么问题,但是cookie是不区分端口号的,在同一个ip下cookie是共享的。也就是说,我们本地项目都是localhos原创 2020-05-29 00:47:20 · 1063 阅读 · 1 评论 -
springboot整合redis、mybatis、@EnableScheduling定时任务,实现日访问量与日活量的统计与记录
目录一、实现目标二、windows版本redis下载与安装三、springboot集成redis四、springboot集成mybatis集成通用mapper五、实现日访问量@EnableScheduling定时任务六、实现日活量获取IP地址七、项目github地址一、实现目标统计网站的日访问量与日活量,日访问量是每天页面被访问的次数,日活量也是被访问的次数,但重复的ip不作记录。二、windows版本redis下载与安装windows版本的redis安装配置很简单,这里给一个安装过程的参考链接。原创 2020-05-17 14:46:59 · 2701 阅读 · 3 评论 -
解决自定义类使用@Autowired注解注入失败的问题
问题描述在工作中想要实现在工具类中通过@Autowired注入持久层的Mapper类,然而代码运行后发现报了空指针异常,即@Autowired注解注入失败了。要怎样实现在我们自定义的工具类中完成依赖注入呢,先看一下可以完成注入的代码:@Componentpublic class TestUtil{ @Autowired private TestMapper testMapper; ...原创 2020-03-10 21:27:18 · 4815 阅读 · 2 评论