aop问题

来源:11-12 AOP实现登录状态检查

慕虎146535

2019-10-22

大目老师,我把CheckLogin和CheckAuthorization 抽出来做成一个jar后 校验都无效的,是怎么回事

写回答

1回答

大目

2019-10-22

处理CheckLogin和CheckAuthorization的类(视频里是AuthAspect),由于上面加了@Component注解,所以要放在能够扫描到的地方,否则这个类不会初始化。

默认情况下,启动类会扫描启动类所在的包及其子包(这个扫描规则,其实在6-6 细粒度配置自定义01-Java代码方式    6-7 细粒度配置自定义02-父子上下文 有提到)。

所以解决方案如下,任选一种即可

  1. 在启动类上,人工加上@ComponentScan注解,扫描你AuthAspect所在的包

  2. 将AuthAspect放在启动类能够扫描到的地方,例如启动类在com.itmuch下面,那么你AuthAspect所在的包可以规划成com.itmuch.common或者其他。总之要在启动类所在的包或者子包

  3. 去掉AuthAspect上的@Component注解,在应用上加上:

@Bean
public AuthAspect authAspect(){
    new AuthAspect();
}

也就是让使用者自己去初始化。


0
4
大目
回复
慕虎146535
好问题!你可以考虑写一个自己的starter哈! 百度下spring boot如何自定义starter。
2019-10-22
共4条回复

Spring Cloud Alibaba微服务从入门到进阶

面向未来微服务:熟练掌握Spring Cloud Alibaba

3085 学习 · 1324 问题

查看课程