Spring @Conditional注解的使用详解编程语言
2023-06-13 09:20:45 时间
Spring Boot的强大之处在于使用了Spring 4框架的新特性:@Conditional注释,此注释使得只有在特定条件满足时才启用一些配置。
下面来介绍如何使用Condition首先写一个类
import org.springframework.context.annotation.Condition; import org.springframework.context.annotation.ConditionContext; import org.springframework.core.type.AnnotatedTypeMetadata; public class MyCondition implements Condition /** * 这里写自己的逻辑,只有返回true,才会启用配置 public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) return true; }
接下来就可以使用了
package com.test.spring; import java.io.Serializable; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Conditional; import org.springframework.context.annotation.Configuration; @Configuration @Conditional(MyCondition.class) public class Config @Bean public Serializable createSerializable() System.out.println("======000"); return ""; }
@Conditional(MyCondition.class)
这句代码可以标注在类上面,[email protected]
也可以标注在方法上面,只是对该方法启用配置
除了自己自定义Condition之外,Spring还提供了很多Condition给我们用@ConditionalOnBean(仅仅在当前上下文中存在某个对象时,才会实例化一个Bean)
@ConditionalOnClass(某个class位于类路径上,才会实例化一个Bean)
@ConditionalOnExpression(当表达式为true的时候,才会实例化一个Bean)
@ConditionalOnMissingBean(仅仅在当前上下文中不存在某个对象时,才会实例化一个Bean)
@ConditionalOnMissingClass(某个class类路径上不存在的时候,才会实例化一个Bean)
@ConditionalOnNotWebApplication(不是web应用)
15728.html
cjava相关文章
- 简单介绍一下spring bean的生命周期_Spring bean的生命周期
- spring boot整合shiro_Spring框架介绍及使用
- 使用Spring定时任务并且通过AOP监控任务执行情况详解编程语言
- Spring使用memcached详解编程语言
- hibernate与spring整合的配置文档问题详解编程语言
- java 使用spring实现读写分离详解编程语言
- spring笔记一详解编程语言
- spring中注解的使用详解编程语言
- spring 4.2.4 与 Jackson 2.7 所引出的问题详解编程语言
- 使用drools6+spring+Drools Workbench+activemq搭建风险控制系统详解编程语言
- spring的自动装配基础详解编程语言
- Spring Boot入门第三天:配置日志系统和Druid数据库连接池。详解编程语言
- Spring Boot入门第二天:一个基于Spring Boot的Web应用,使用了Spring Data JPA和Freemarker。详解编程语言
- Activiti工作流与spring集成详解编程语言
- Spring Cloud(六):Spring Cloud Config 分布式配置中心使用教程详解编程语言
- Spring Boot 返回 JSON 数据,一分钟搞定!详解编程语言
- Spring Boot 配置随机数技巧详解编程语言
- Spring Boot 2 (六):使用 Docker 部署 Spring Boot 开源软件云收藏详解编程语言
- Spring Boot 2 (四):使用 Docker 部署 Spring Boot详解编程语言
- Spring Boot(五):spring data jpa的使用详解编程语言
- Spring系列之bean的使用详解编程语言
- Spring系列之谈谈对Spring IOC的理解详解编程语言
- java spring boot返回json的写法详解编程语言