一、什麼是條件註解
根據特定的條件來控制bean的建立行為二、如何使用條件註解使用到的註解 @conditional
通過實現condition介面並重寫matches方法(構造判斷條件)來實現乙個條件判斷類三、conditiondemo在配置bean時使用@conditional註解,並指定條件判斷類,實現有條件地建立bean
通過判斷程式在什麼系統下執行,來建立對應的bean,並輸出該系統下列表展示命令條件判斷類
package com.cactus.demo.conditional;
import org.springframework.context.annotation.condition;
import org.springframework.context.annotation.conditioncontext;
import org.springframework.core.type.annotatedtypemetadata;
/** * created by liruigao
* date: 2019-12-05 16:08
* description:
*/public
class
maccondition
implements
condition
}
條件判斷類
package com.cactus.demo.conditional;
import org.springframework.context.annotation.condition;
import org.springframework.context.annotation.conditioncontext;
import org.springframework.core.type.annotatedtypemetadata;
/** * created by liruigao
* date: 2019-12-05 16:13
* description:
*/public
class
windowscondition
implements
condition
}
demobean介面類
package com.cactus.demo.conditional;
/** * created by liruigao
* date: 2019-12-05 16:15
* description:
*/public
inte***ce
ilistservice
demobean
package com.cactus.demo.conditional;
/** * created by liruigao
* date: 2019-12-05 16:16
* description:
*/public
class
maclistservice
implements
ilistservice
}
demobean
package com.cactus.demo.conditional;
/** * created by liruigao
* date: 2019-12-05 16:16
* description:
*/public
class
windowslistservice
implements
ilistservice
}
配置類
package com.cactus.demo.conditional;
import org.springframework.context.annotation.bean;
import org.springframework.context.annotation.conditional;
import org.springframework.context.annotation.configuration;
/** * created by liruigao
* date: 2019-12-05 16:04
* description:
*/@configuration
public
class
conditionalconifg
@bean
@conditional
(maccondition.
class
)public ilistservice maclistservice()
}
main
package com.cactus.demo.conditional;
/** * created by liruigao
* date: 2019-12-05 16:02
* description:
*/public
class
main
}
result
windowscondition --> osname : mac os x
maccondition --> osname : mac os x
mac command: ls
Spring高階話題 Aware
一 aware是什麼?spring aware就是一些定義了spring容器本身功能資源的介面 spring提供的aware介面 介面備註 beannameaware 獲得到容器中bean的名稱 beanfactoryaware 獲得當前 bean factory,這樣可以呼叫容器的服務 messa...
Spring 條件註解(conditional)
spring 的條件註解在於 根據滿足某乙個特定條件建立乙個特定的bean 例如,當某個jar 包在乙個類的路徑下,自動配置乙個或多個bean 或者只有某個bean 被建立才會建立另外乙個bean 總的來說,就是通過特定的條件來控制bean 的建立行為。主要是實現為兩步 首先 實現 conditio...
八 高階話題
本章描述bufferevent的一些對通常使用不必要的高階特徵。如果只想學習如何使用bufferevent,可以跳過這一章,直接閱讀下一章。有時候網路程式需要與自身通訊。比如說,通過某些協議對使用者連線進行隧道操作的程式,有時候也需要通過同樣的協議對自身的連線進行隧道操作。當然,可以通過開啟乙個到自...