最近在做的项目,用到了模块化技术,引用的共用模块中有使用shiro.
本人负责的模块里面是一个独立的Restful接口。不需要用到shiro。一开始的思路是在配置文件中去掉shiro。但是因为shiro的注解已经使用@configuration注入。又不好修改公用代码,于是在springboot的启动类中加入如下代码。问题解决。
1 @SpringBootApplication(exclude = { DataSourceAutoConfiguration.class }) 2 @ComponentScan(excludeFilters = @ComponentScan.Filter(type = FilterType.ASSIGNABLE_TYPE, classes = {ResourcesConfig.class, 3 RedisConfig.class, ShiroConfig.class, FilterConfig.class, LoginService.class, PasswordService.class}))
第一个注解后面的选项只能摒弃springboot的自动注入类,第二个才是抛弃自定义类的正确方式。