美文网首页java学习
对ConditionalOn* 的理解

对ConditionalOn* 的理解

作者: Britney_z | 来源:发表于2017-09-05 14:48 被阅读60次

package com.lz.springboot.study.spring;

import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;

import org.springframework.boot.autoconfigure.condition.ConditionalOnClass;

import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;

import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;

import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingClass;

import org.springframework.boot.autoconfigure.condition.ConditionalOnNotWebApplication;

import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty;

import org.springframework.boot.context.properties.ConfigurationProperties;

import org.springframework.context.annotation.Bean;

import org.springframework.context.annotation.Configuration;

@Configuration

public class ConditionalOnBeanT {

class A {

}

class B {

private String from;

private String to;

public String getFrom() {

return from;

}

public void setFrom(String from) {

this.from = from;

}

public String getTo() {

return to;

}

public void setTo(String to) {

this.to = to;

}

}

class C {

}

class D {

}

@Bean

public A a() {

return new A();

}

// @Bean

public C c() {

return new C();

}

@Bean

@ConditionalOnBean(value = A.class)

// A必须存在一个bean

@ConditionalOnClass(value = C.class)

// 当类路径下有指定类的条件下

@ConditionalOnExpression("${enabled:true}")

// 当表达式为true的时候,才会实例化一个Bean

@ConditionalOnMissingBean(value = C.class)

@ConditionalOnMissingClass

@ConditionalOnProperty(prefix = "spring.boot.admin.notify.mail", name = "from", havingValue = "xx")

// 配置文件中spring.boot.admin.notify.mail.from必须存在

@ConditionalOnNotWebApplication

// (不是web应用)

@ConfigurationProperties("spring.boot.admin.notify.mail")

public B b() {

return new B();

}

}

相关文章

  • 对ConditionalOn* 的理解

    package com.lz.springboot.study.spring;import org.springf...

  • spring boot的条件注解

    1.spring boot的@ConditionalOn注解 参考:https://www.jianshu.com...

  • @ConditionalOnBean@ConditionalOn

    例如 配置类中有两个Computer类的bean,一个是笔记本电脑,一个是备用电脑。如果当前容器中已经有电脑bea...

  • 对理解的理解

    坚强的人不好做,再大的苦楚也不能说。 儿女情长为何愁,没有事业哪来的人生风流!任凭一路坎坷,也要一路高歌。...

  • 我对理解的理解

    时下,最值得珍惜的就是信任, 感恩别人对自己的一份信任,理解别人对自己的不理解,这就是我对理解的理解

  • 再谈对“理解”的理解

    再谈对“理解”的理解 1956年版《布卢姆目标分类学》里奖认知的维度分为:记忆、理解、分析、应用、评价和创造。 安...

  • 对“。。。。。。”的理解

    就在昨天,我瞬间被“。。。。。。”惹怒了,原因很简单,就是在30秒内,看见了连续3个“。。。。。。”,最后...

  • 对MQTT的理解

    MQTT定义了14种类型的控制消息;MQTT中只规定了整数数据采用大端字节序,所以要注意像【剩余长度(Remain...

  • 对母亲的理解

    挡风玻璃越来越模糊,不是因为下雨,而是泪水…… 母亲的话依然在耳边回荡,刺痛着我,作为一个母亲,她怎么...

  • 对奋斗的理解

    【什么是奋斗 】奋斗就是每一天都很难,可一年比一年容易。不奋斗就是每一天都很容易,可一年比一年越难。怕吃苦的人吃苦...

网友评论

    本文标题:对ConditionalOn* 的理解

    本文链接:https://www.haomeiwen.com/subject/tvbujxtx.html