當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
Spring@Configuration、@Bean、@Import 、@ImportResource、@DependsOn 说明
生活随笔
收集整理的這篇文章主要介紹了
Spring@Configuration、@Bean、@Import 、@ImportResource、@DependsOn 说明
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
為什么80%的碼農都做不了架構師?>>> ??
使用spring的這幾個配置,可以將舊<xml>配置形式完全使用Java實現,也可以和<xml>嵌套使用。
@Configuration和@Bean可以配合使用,案例:
傳統XML配置:
<beans><bean id="classA" class="com.ClassA"><constructor-arg ref="ClassB"/></bean><bean id="classB" class="com.ClassB"><constructor-arg ref="c"/></bean><bean id="classC" class="com.ClassC"/> </beans>對應的可以使用@Configuration和@Bean來實現:
@Configuration public class config{public @Bean ClassA classA() {return new ClassA(classB());}public @Bean ClassB classB() {return new ClassB(c());}public @Bean ClassC classC() {} }@DependsOn注解類似于<xml>的depends-on元素,案例如下:
@DependsOn({"classA","classB"}) @Component public class ClassC{//codes here }這樣,在初始化ClassC之前,一定會先初始化ClassA和ClassB。
@Import是導入通過@Configuration配置的Bean。
先通過@Configuration聲明配置類
@Configuration public class Config {public @Bean ClassA classA () {return new ClassA();} }然后使用@Import導入配置類
@Configuration @Import(Config.class) //導入CDConfig的配置 public class ConfigExt {@Bean(name = "classB")public ClassB classB(ClassA classA) { // 注入ClassA類型的beanreturn new ClassB(classA);} }@ImportResource類似于XML配置的<import>元素,如:<import resource="importxml.xml" />。
使用方式如下:
<bean id="classA" class="com.ClassA"><property name="classB" ref="classB" /> </bean> <bean id="classB" class="com.ClassB"/Java類注入:
@Configuration @Import(Config.class) @ImportResource("classpath:importxml.xml") //導入xml配置項 public class ConfigExt{}?
?
轉載于:https://my.oschina.net/chkui/blog/738568
總結
以上是生活随笔為你收集整理的Spring@Configuration、@Bean、@Import 、@ImportResource、@DependsOn 说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Swift:如何优雅地使用 print(
- 下一篇: php新写法