Spring boot自动配置常用注解

@ConditionalOnClass 注解

@ConditionalOnClass(com.xxxx.Client.class)
  • 检查类路径是否存在某个类,如果存在,则加载当前配置;否则忽略
  • 常用于 自动配置类 或 Bean 的按需注册,避免因缺少依赖导致启动失败

@ConditionalOnProperty 注解

@ConditionalOnProperty(prefix = "demo.local", name = "enable", havingValue = "true")

对应yml配置
demo:
  local:
    enable: true
  • 当enable = true时才会加载配置

@ConditionalOnMissingBean 注解

@ConditionalOnMissingBean(name = "xxxxEncryptor")
或
@ConditionalOnMissingBean(XxxxEncryptor.class)
  • 当指定的 bean 名称或bean对象不存在Spring bean容器中时才会加载配置

@Primary注解

  • 当 Spring 容器中存在多个相同类型的 Bean 时,@Primary 会标记其中一个 Bean 作为默认优先注入的候选者
  • 即被标记@Primary的会优先注入
posted @ 2017-06-30 10:18  程序员の奇妙冒险  阅读(11)  评论(0)    收藏  举报  来源