springboot 中@Conditional注解如何使用
发表于:2026-11-03 作者:千家信息网编辑
千家信息网最后更新 2026年11月03日,这篇文章给大家介绍springboot 中@Conditional注解如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。启动类package com.demo;import
千家信息网最后更新 2026年11月03日springboot 中@Conditional注解如何使用
这篇文章给大家介绍springboot 中@Conditional注解如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。
启动类
package com.demo;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;/** * Hello world! * */@SpringBootApplicationpublic class App{ public static void main( String[] args ) { SpringApplication.run(App.class,args); }}1.实现condition接口
package com.demo.condition;import org.springframework.context.annotation.Condition;import org.springframework.context.annotation.ConditionContext;import org.springframework.core.type.AnnotatedTypeMetadata;public class WindowsCondition implements Condition { @Override public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) { String property = conditionContext.getEnvironment().getProperty("os.name"); return property.contains("Window"); }}package com.demo.condition;import org.springframework.context.annotation.Condition;import org.springframework.context.annotation.ConditionContext;import org.springframework.core.type.AnnotatedTypeMetadata;public class LinuxCondition implements Condition{ @Override public boolean matches(ConditionContext conditionContext, AnnotatedTypeMetadata annotatedTypeMetadata) { String property = conditionContext.getEnvironment().getProperty("os.name"); return property.contains("Linux"); }}配置bean对象
package com.demo.config;import com.demo.condition.LinuxCondition;import com.demo.condition.WindowsCondition;import com.demo.serviceI.DemoService;import com.demo.serviceImp.DemoServiceLinuxImp;import com.demo.serviceImp.DemoServiceWindowImp;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Conditional;import org.springframework.context.annotation.Configuration;@Configurationpublic class OSconfig { @Bean @Conditional(LinuxCondition.class) public DemoService linuxCondition(){ return new DemoServiceLinuxImp(); } @Bean @Conditional(WindowsCondition.class) public DemoService winCondition(){ return new DemoServiceWindowImp(); }}服务接口
package com.demo.serviceI;public interface DemoService { String info();}服务接口实现
package com.demo.serviceImp;import com.demo.serviceI.DemoService;public class DemoServiceLinuxImp implements DemoService { @Override public String info() { return "linux"; }}package com.demo.serviceImp;import com.demo.serviceI.DemoService;public class DemoServiceWindowImp implements DemoService { @Override public String info() { return "window"; }}控制层按类型注入
package com.demo.action;import com.demo.serviceI.DemoService;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;@RestControllerpublic class DemoAction { @Autowired private DemoService demoService; @RequestMapping(value = "health.json") public String healt(){ return "{\"status\":\"UP\",\"diskSpace\":{\"status\":\"UP\",\"total\":249769230336,\"free\":71914618880,\"threshold\":10485760},\"db\":{\"status\":\"UP\",\"database\":\"MySQL\",\"hello\":1}}"; } @RequestMapping(value = "user/info") public String info(){ return demoService.info(); }}访问接口
关于springboot 中@Conditional注解如何使用就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。
接口
注解
内容
更多
帮助
服务
不错
兴趣
对象
小伙
小伙伴
文章
知识
篇文章
类型
参考
控制
配置
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技图片
新华互联网科技学校
重生之互联网科技帝国
中国互联网科技股
互联网核心科技是什么
港股互联网科技股
互联网科技公司官网
北京大学互联网科技怎么样
互联网科技热点资讯
央行互联网金融科技公司
互联网校园科技培训
区块链结合互联网科技
沐思想互联网科技有限公司
伍佰万互联网科技怎么赚钱
江苏苏星互联网科技有限公司
银行科技岗属于互联网吗
抖集互联网科技技术咨询
科技互联网公司两年变化
黑龙江互联网科技公司
互联网科技创新方面的资料
互联网科技保险
唐信互联网科技 大连
顺玮阁互联网科技
互联网前沿科技
中国互联网有什么科技含量
以后互联网后是啥科技
重庆威客帮互联网科技
未来五年的互联网科技
互联网金融科技名词解释
上海乐五互联网科技有限公司