美文网首页
SpringBoot-Condition

SpringBoot-Condition

作者: lazyguy | 来源:发表于2018-01-11 15:24 被阅读0次

    spring提供的注册条件相关的注解:

    注解 判断逻辑
    ConditionalOnBean 可以通过多种条件查找spring容器中是否有匹配的bean
    ConditionalOnClass 类加载器中是否存在对应的类。可以通过Class指定(value属性)或者Class的全名指定(name属性)。如果是多个类或者多个类名的话,关系是”与”关系,也就是说这些类或者类名都必须同时在类加载器中存在
    ConditionalOnCloudPlatform 判断
    ConditionalOnExpression 判断对应的s
    ConditionalOnJava 指定Java版本是否符合要求。内部有2个属性value和range。value表示一个枚举的Java版本,range表示比这个老或者新于等于指定的Java版本(默认是新于等于)。内部会基于某些jdk版本特有的类去类加载器中查询,比如如果是jdk9,类加载器中需要存在java.security.cert.URICertStoreParameters;如果是jdk8,类加载器中需要存在java.util.function.Function;如果是jdk7,类加载器中需要存在java.nio.file.Files;如果是jdk6,类加载器中需要存在java.util.ServiceLoader
    ConditionalOnJndi 判断逻辑
    ConditionalOnMissingBean 判断逻辑
    ConditionalOnMissingClass 判断逻辑
    ConditionalOnNotWebApplication 判断逻辑
    ConditionalOnProperty 判断spring的环境中对应的property属性去判断是否匹配
    ConditionalOnResource 判断是否存在指定的资源文件。只有一个属性resources,是个String数组。会从类加载器中去查询对应的资源文件是否存在
    ConditionalOnSingleCandidate Spring容器中是否存在且只存在一个对应的实例。只有3个属性value、type、search。跟ConditionalOnBean中的这3种属性值意义一样
    ConditionalOnWebApplication

    这些注解既可以放在被标记了@Configuration的类上,也可以放在标记了@Bean的方法上。
    作用就是按条件限制 注册类或者某个生成bean的方法。

    相关文章

      网友评论

          本文标题:SpringBoot-Condition

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