1. 首页
  2. 软件开发
  3. Spring Boot——条件注解和条件装配

Spring Boot——条件注解和条件装配

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

Spring Boot的条件注解和条件装配是用于根据特定条件来控制Bean的创建和装配的重要特性。条件注解可以根据不同的条件来判断是否满足某种条件,从而决定是否创建特定的Bean。以下是条件注解和条件装配的使用方法:

一、条件注解示例

  1. @ConditionalOnClass: 当指定的类存在于类路径中时才会创建Bean。
  2. @ConditionalOnBean: 当指定的Bean存在时才会创建当前Bean。
  3. @ConditionalOnProperty: 基于配置属性的条件注解,根据配置文件中的属性值决定是否创建Bean。

代码如下:

public class MyService {
   
    private String message;

    public MyService(String message) {
   
        this.message = message;
    }

    public String getMessage() {
   
        return message;
    }
}

二、条件装配示例

创建一个自动配置类 MyServiceAutoConfiguration ,根据条件注解来控制是否自动配置 MyService Bean:

import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
@ConditionalOnClass(MyService.class)
public class MyServiceAutoConfiguration {
   

    @Bean
    public MyService myService() {
   
        return new MyService("Hello, this is auto-configured message");
    }
}

在这个示例中, MyServiceAutoConfiguration 类使用了 @ConditionalOnClass(MyService.class) 注解,表示只有当 MyService 类存在于类路径中时才会自动配置 MyService Bean。如果 MyService 类不存在,则不会创建该Bean。

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