啟動類
packagecom.demo;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;/***Helloworld!**/@SpringBootApplicationpublicclassApp{publicstaticvoidmain(String[]args){SpringApplication.run(App.class,args);}}
1.實現condition接口
packagecom.demo.condition;importorg.springframework.context.annotation.Condition;importorg.springframework.context.annotation.ConditionContext;importorg.springframework.core.type.AnnotatedTypeMetadata;publicclassWindowsConditionimplementsCondition{@Overridepublicbooleanmatches(ConditionContextconditionContext,AnnotatedTypeMetadataannotatedTypeMetadata){Stringproperty=conditionContext.getEnvironment().getProperty("os.name");returnproperty.contains("Window");}}
packagecom.demo.condition;importorg.springframework.context.annotation.Condition;importorg.springframework.context.annotation.ConditionContext;importorg.springframework.core.type.AnnotatedTypeMetadata;publicclassLinuxConditionimplementsCondition{@Overridepublicbooleanmatches(ConditionContextconditionContext,AnnotatedTypeMetadataannotatedTypeMetadata){Stringproperty=conditionContext.getEnvironment().getProperty("os.name");returnproperty.contains("Linux");}}
配置bean對象
packagecom.demo.config;importcom.demo.condition.LinuxCondition;importcom.demo.condition.WindowsCondition;importcom.demo.serviceI.DemoService;importcom.demo.serviceImp.DemoServiceLinuxImp;importcom.demo.serviceImp.DemoServiceWindowImp;importorg.springframework.context.annotation.Bean;importorg.springframework.context.annotation.Conditional;importorg.springframework.context.annotation.Configuration;@ConfigurationpublicclassOSconfig{@Bean@Conditional(LinuxCondition.class)publicDemoServicelinuxCondition(){returnnewDemoServiceLinuxImp();}@Bean@Conditional(WindowsCondition.class)publicDemoServicewinCondition(){returnnewDemoServiceWindowImp();}}
服務接口
packagecom.demo.serviceI;publicinterfaceDemoService{Stringinfo();}
服務接口實現
packagecom.demo.serviceImp;importcom.demo.serviceI.DemoService;publicclassDemoServiceLinuxImpimplementsDemoService{@OverridepublicStringinfo(){return"linux";}}
packagecom.demo.serviceImp;importcom.demo.serviceI.DemoService;publicclassDemoServiceWindowImpimplementsDemoService{@OverridepublicStringinfo(){return"window";}}
控制層按類型注入
packagecom.demo.action;importcom.demo.serviceI.DemoService;importorg.springframework.beans.factory.annotation.Autowired;importorg.springframework.web.bind.annotation.RequestMapping;importorg.springframework.web.bind.annotation.RestController;@RestControllerpublicclassDemoAction{@AutowiredprivateDemoServicedemoService;@RequestMapping(value="health.json")publicStringhealt(){return"{\"status\":\"UP\",\"diskSpace\":{\"status\":\"UP\",\"total\":249769230336,\"free\":71914618880,\"threshold\":10485760},\"db\":{\"status\":\"UP\",\"database\":\"MySQL\",\"hello\":1}}";}@RequestMapping(value="user/info")publicStringinfo(){returndemoService.info();}}
訪問接口
關于springboot 中@Conditional注解如何使用就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
本文由 貴州做網站公司 整理發布,部分圖文來源于互聯網,如有侵權,請聯系我們刪除,謝謝!
c語言中正確的字符常量是用一對單引號將一個字符括起表示合法的字符常量。例如‘a’。數值包括整型、浮點型。整型可用十進制,八進制,十六進制。八進制前面要加0,后面...
2022年天津專場考試原定于3月19日舉行,受疫情影響確定延期,但目前延期后的考試時間推遲。 符合報名條件的考生,須在規定時間登錄招考資訊網(www.zha...
:喜歡聽,樂意看。指很受歡迎?!巴卣官Y料”喜聞樂見:[ xǐ wén lè jiàn ]詳細解釋1. 【解釋】:喜歡聽,樂意看。指很受歡迎。2. 【示例】:這是...
什么是華資銀行?上海最早開設的華資銀行是哪個銀行?一起跟隨小編來了解下。華資銀行,指的是在中國的香特別行政區注冊成立的,并由當地的華人控股的銀行。華資銀行大多數是以錢莊發展來的,經營方式較為落后,資本額也較小,它的業務經營范圍主要在房地產資產上面。1946年到1964年為華資銀行發展的鼎盛時期,雖然資本規模較小,但勝在支行數量多。中國通商銀行是上海最早設立的華資銀行。中國通商銀行成立于上海,成立日...
綠色GDP是綜合環境經濟核算體系中的核心指標,在現在的GDP基礎上融入資源和環境的因素。具體而言,綠色GDP是從GDP中扣除由于環境污染、自然資源退化、教育低下、人口數量失控、管理不善等因素引起的經濟損失成本。這個指標實質上代表了國民經濟增長的競爭效應。綠色經濟GDP是指國內生產總值從GDP中扣除生態資源消耗價值和環境污染損害價值后留下的,稱為國內可持續發展生產總值??煞殖煽傊蹬c凈值??傊凳菑馁Y源...
說了這么多次的房地產稅終于要來了,據最新消息稱,部分地區將開展房地產稅改革試點,那么具體會有哪些相關的措施推出呢?房地產稅一旦實施將會帶來哪些影響?下面我們來了解一下。房地產稅是政府對房地產征收的一種財產稅。它通常向業主或租戶等用戶征收。負責征收房地產稅的政府機構將對房地產價值進行估價,并以房地產價值的一定比例作為應繳稅款。為積極穩妥推進房地產稅立法改革,引導合理住房消費和節約集約利用土地資源,促...