我們需要bean在滿足一定條件下才允許注入spring容器的情況,可以加註@conditional註解。加註了此註解的bean在定義被spring註冊前會被條件判斷。自定義註解標註@conditional也不允許宣告為@inherited。
@target()
@retention
(retentionpolicy.runtime)
@documented
public @inte***ce
conditional
原始碼分析:
//滿足條件才初始化
@conditional
(value =
)@bean
public conditionentity windows()
//自定義condition類需要實現condition介面,多個condition條件時可以實現order或子介面priorityordered,用於執行順序排序
public
class
winconditionusage
implements
condition
, ordered
return
false;}
@override
public
intgetorder()
}
條件註解 Conditional
可以讓某乙個bean 在某些條件下 加入ioc容器,其他情況下不加ioc容器。a.準備普通bean b.增加條件bean 給每個bean設定條件,必須實現condition介面 如 oilcarcondition類 public class oilcarcondition implements co...
Conditional註解使用
conditional spring4.0 介紹了乙個新的註解 conditional,它的邏輯語義可以作為 if then else 來對bean的註冊起作用。source code recreated from a class file by intellij idea powered by f...
Spring中Conditional註解使用例項
1 接著之前的測試 2 新新增測試類 條件類 public class magicexistscondition implements condition 3 修改配置類 configuration 配之類 componentscan 掃瞄的基礎包 public class cdplayconfig...