1
gaobing 2020-02-16 14:10:47 +08:00 via Android
做 starter 吗,conditionon 条件检测一下容器中有没有 datasource 这个接口的类,可以参考 durid starter 的实现
|
2
rizon OP @gaobing #1 主要问题就出在,我自己写的 @ConditionalOnBean(DataSource.class) 判断结果总是 false
|
4
phantomzz 2020-02-16 14:20:57 +08:00
ConditinalOnBean 或者 ConditionalOnMissingBean 都可以,如果你参数是 Class 的话,你要确定 spring 根据这个 class 生成的 beanName 和你期待的是不是一致。可以下断点看一下。
|
5
vitoliu 2020-02-16 23:58:17 +08:00
@rizon 出现判断结果为 false 的话开启 debug 日志,自己手写一个 condition 的 match 类,边看日志,边 debug。
|
6
daxiguaya 2020-04-03 12:15:38 +08:00
实际上得看数据源从哪里注册进去的,从 META-INF/spring.factories 里的自动配置注册进去的话得这样: https://paste.ubuntu.com/p/NZPyqT5pXC/
|