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

2019-11-11 16:22:59 +08:00
 louislivi
@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();
    }
}
6539 次点击
所在节点    Java
6 条回复
chendy
2019-11-11 16:36:30 +08:00
1. `@ComponentScan({"*.*.*"})`真实狠人
2. 建议了解一下 spring-boot 和 spring 的的相关机制
3. 你少了一个 resources/META-INF/spring.factories
muskill
2019-11-11 16:42:07 +08:00
一楼说的是,在 resources/META-INF/下面建个文件名和后缀名为 spring.factories 的文件,然后把详细的类的引用地址复制上去就行了,多行引用用英文逗号: ' ,\ ' 分开就好了,具体的加载原理可以看这里 => https://qidawu.github.io/2019/01/20/spring-factories/
louislivi
2019-11-11 17:02:28 +08:00
@chendy
@muskill

非常感谢,懂了。
qwerthhusn
2019-11-11 17:10:01 +08:00
你看那个 jar 包下面的 META-INF 目录下是不是有个 spring.factories 文件
waterlaw
2019-12-08 05:48:05 +08:00
回归源码, 可以解决 99% 的问题,剩下的 1%看经验。
utoom
2020-10-28 16:11:44 +08:00
@chendy 完全正解,+1

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/618483

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX