java如何验证bean实例是否已连接?
我正在创建一个小框架,它提供了一些abstract
基类,在使用库时必须实现这些基类
如何创建一个验证例程来检查是否所有类都已实现
我想我也许可以使用spring boot的@ConditionalOnMissingBean
,但到目前为止,这并没有起到任何作用。无论如何,我的目标是:
@Configuration
@EnableAutoConfiguration
public class AppCfg {
@ConditionalOnMissingBean(BaseCarService.class) //stupid exmaple
public void validate() {
System.out.println("MISSING BEAN!!");
}
}
//must be implemented
public abstract BaseCarService {
}
我怎样才能做到这一点
# 1 楼答案
当您的上下文已经初始化(例如从实现
ContextLoaderListener
的bean)时,您可以调用ApplicationContext.getBeansOfType(BaseCarService.class)
,例如:# 2 楼答案
ApplicationListener可用于在启动后访问上下文
# 3 楼答案
下面的方法可以奏效,但如果只是抛出一个异常,看起来有点尴尬: