Spring 条件@Bean

标签 spring

我需要根据 bool 配置初始化一个 bean。如果 config 为真,则初始化 bean,否则根本不加载 bean(我见过的大多数示例都集中在从两个实现中选择一个实现)。这是我的做法:

@Configuration
public class classA {

    ...
    @Bean
    public XXX createBean(){
        if(config){
            //create bean
        }else{
            return null;
        }
    }
}

我认为这不是实现此目标的干净方法。需要知道是否有更好的方法来执行此操作。

Spring 版本:3.2.1.RELEASE

最佳答案

您正在寻找@ConditionalOnProperty:

@Bean
@ConditionalOnProperty(value = "your.property", havingValue = true)
public YourBean yourBean(){
     return new YourBean();
}

关于 Spring 条件@Bean,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26569205/

相关文章:

java - AbstractAnnotationConfigDispatcherServletInitializer 中 getRootConfigClasses() 和 getServletConfigClasses() 之间的区别

java - 为扩展抽象类的所有类创建切入点

java - WAR 文件在 Tomcat 服务器中抛出 OutOfMemoryError

java - Spring SQLUpdate 将时间为零的日期插入数据库

java - Hibernate拦截器线程安全

java - Spring @Autowired 违反了 DRY 原则。可以做什么?

javascript - 填充下拉列表中的选定值

Spring MVC : @RequestBody VS @ModelAttribute

java - 找不到 spring 主页

java - Spring JPA Repository 上的 API 数量是否会影响启动时间?