不同包下 @Configuration 注解不生效?

不同包下 @Configuration 注解不生效?,第1张

不同包下 @Configuration 注解不生效?,第2张

  • 是这样的我本来是像开发一个关于数据源的一个扩展
  • 但是发现不同的包下@Configuration等注解无法生效,后查询得知是扫包问题在 Application 文件中添加@ComponentScan({"*.*.*"}) 就可以了,但是我发现druid 等公共依赖都没有这样为什么它们却可以正常运行呢?
  •  
@Configuration
@ConditionalOnClass(DruidDataSource.class)
@AutoConfigureBefore(DataSourceAutoConfiguration.class)
@EnableConfigurationProperties({DruidStatProperties.class, DataSourceProperties.class})
@Import({DruidSpringAopConfiguration.class,
    DruidStatViewServletConfiguration.class,
    DruidWebStatFilterConfiguration.class,
    DruidFilterConfiguration.class})
public class DruidDataSourceAutoConfigure {

    private static final Logger LOGGER = LoggerFactory.getLogger(DruidDataSourceAutoConfigure.class);

    @Bean(initMethod = "init")
    @ConditionalOnMissingBean
    public DataSource dataSource() {
        LOGGER.info("Init DruidDataSource");
        return new DruidDataSourceWrapper();
    }
}
  • 我将 druid 的 pom 文件以及这段代码都仿了一遍但是 都没有正常注入完全不执行。
----------------------- 以下是精选回复-----------------------

答:一楼说的是,在 resources/META-INF/下面建个文件名和后缀名为 spring.factories 的文件,然后把详细的类的引用地址复制上去就行了,多行引用用英文逗号: ' ,\ ' 分开就好了,具体的加载原理可以看这里 => https://qidawu.github.io/2019/01/20/spring-factories/
答:你看那个 jar 包下面的 META-INF 目录下是不是有个 spring.factories 文件
答:回归源码, 可以解决 99% 的问题,剩下的 1%看经验。

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 不同包下 @Configuration 注解不生效?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情