可以讓某乙個bean 在某些條件下 加入ioc容器, 其他情況下不加ioc容器。
a.準備普通bean
b.增加條件bean:
給每個bean設定條件, 必須實現condition介面
如://oilcarcondition類
public
class
oilcarcondition
implements
condition
return
false;}
} 注:
1.當環境變數car.type=
"oil"時對應的物件才會在ioc容器中建立;
2.環境變數car.type的設定:
run -
> edit configurations -
> vm options
c.根據條件,將bean加入ioc容器
如:
//在myconfig配置類中
@bean
@conditional
(oilcarcondition.
class
)public icar oilcar()
@bean
@conditional
(energycarcondition.
class
)public icar energycar()
Conditional註解分析
我們需要bean在滿足一定條件下才允許注入spring容器的情況,可以加註 conditional註解。加註了此註解的bean在定義被spring註冊前會被條件判斷。自定義註解標註 conditional也不允許宣告為 inherited。target retention retentionpoli...
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...