1. 首页
  2. 软件开发
  3. Spring——条件化Bean注册(@Conditional注解)

Spring——条件化Bean注册(@Conditional注解)

  • 发布于 2024-08-17
  • 0 次阅读

条件化Bean注册是Spring框架中的一种机制,通过在Bean定义上添加@Conditional注解,可以根据特定的条件来决定是否注册该Bean。

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Conditional;
import org.springframework.context.annotation.Configuration;

@Configuration
public class AppConfig {
   

    @Bean
    @Conditional(MyCondition.class)
    public MyBean myBean() {
   
        return new MyBean();
    }
}

通过@Conditional(MyCondition.class)注解来标记myBean()方法,表示只有满足MyCondition条件时才会注册这个Bean。MyCondition是一个自定义的条件类,需要实现Condition接口并重写matches()方法来定义具体的条件逻辑。

import org.springframework.context.annotation.Condition;
import org.springframework.context.annotation.ConditionContext;
import org.springframework.core.type.AnnotatedTypeMetadata;

public class MyCondition implements Condition {
   

    @Override
    public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) {
   
        // 在这里定义条件逻辑,返回true表示注册Bean,返回false表示不注册Bean
        return true; // 这里简单地返回true,表示始终注册Bean
    }
}

原文链接: https://blog.csdn.net/2401_82884096/article/details/137938959