springboot 中@Conditional注解如何使用
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,这篇文章给大家介绍springboot 中@Conditional注解如何使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。启动类package com.demo;import
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
网络安全考试认证难考吗
深圳旅游软件开发设计
莱芜服务器管理系统销售
电气自动化技术和计算机网络技术
小鹏汽车网络技术总监是谁
网络安全检测异常
云服务器简易用户管理
模拟炒股大赛软件开发
数据库字段关联可视化操作
黑板报设计图案大全网络安全
网络安全黑板设置
软件开发培训售后有保障
国外学校有EI数据库吗
东莞专业软件开发费用
荔湾区无源网络技术开发价格多少
ue4服务器进入游戏流程
夜萌梦雨服务器
java图片存储数据库
2016网络技术试卷3
实例数据库服务
游橙网络技术有限公司
运载5千人的服务器多少钱
数据库是如何修改数据文件
变电站监控服务器性能升方案
世界大学网络安全专业排名
徽银网络安全大讲堂
有的手机连不上服务器
soul总是显示连接服务器失败
寅龙互联网科技
c#创建sql数据库表