深入理解Spring Boot中的自动配置与条件注解
import org.springframework.context.annotation.Configuration;
import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;
import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
// 定义一个自动配置类,仅当Jedis类存在且没有用户定义的RedisConnectionConfiguration时才会生效
@Configuration
@ConditionalOnClass(name = "redis.clients.jedis.JedisPool")
@ConditionalOnMissingBean(RedisConnectionConfiguration.class)
public class JedisAutoConfiguration {
// 配置内容,比如创建Jedis连接池等
}
这个代码示例展示了如何使用Spring Boot的@ConditionalOnClass
注解来检查是否存在特定的类,在这个例子中是Jedis类。同时,它使用@ConditionalOnMissingBean
来检查是否已经定义了一个特定的Bean,在这个例子中是RedisConnectionConfiguration
。只有当这两个条件都满足时,该自动配置类才会生效。这是一个很好的实践,用于创建在特定条件下才会启用的配置。
评论已关闭