springboot 中@Conditional注解如何使用
发表于:2025-12-02 作者:千家信息网编辑
千家信息网最后更新 2025年12月02日,这篇文章给大家介绍springboot 中@Conditional注解如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。启动类package com.demo;import
千家信息网最后更新 2025年12月02日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安全错误
数据库的锁怎样保障安全
简明数据库
桌面应用 软件开发
数据库时间类型取年月
普陀区银联数据库成本
玖玖软件开发有限公司招聘
网络安全 工作计划
网络技术重点申报项目
西青区标准软件开发报价技术规范
tbc 部落哪个服务器出名
金蝶k3数据库实体后缀
数据库改列为行
互联网下金融科技市场有哪些
网络安全有奖知识竞赛
浙江语音网络技术服务优势
网络安全实施小组
互联网海洋信息科技
网络安全教育班级活动策划
德惠有名的网络技术咨询诚信经营
代理服务器服务端
mysql数据库引擎选择
修理安卓服务器
四川雅安电信服务器
前端如何发布到服务器
网络技术带来的发展影响
新车数据库解锁
徐汇区网络技术服务业务流程
网络安全ppt案例分析
市直工委如何加强网络安全
wp建站服务器
h2数据库优势