當前位置:
首頁 >
前端技术
> javascript
>内容正文
javascript
spring bean依赖_Spring @Configuration并将bean依赖项作为方法参数注入
生活随笔
收集整理的這篇文章主要介紹了
spring bean依赖_Spring @Configuration并将bean依赖项作为方法参数注入
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
spring bean依賴
一個春天建議注射豆從Spring的參考指南復制下面的示例中顯示之間的相互依存關系的方式在這里 :
所以在這里,bean`foo`被注入了`bar`依賴關系。
但是,還有一種替代方法無法很好地記錄依賴關系,它是通過以下方式將依賴關系作為@Bean方法參數:
@Configuration public class AppConfig {@Beanpublic Foo foo(Bar bar) {return new Foo(bar);}@Beanpublic Bar bar() {return new Bar("bar1");}}不過這里有一個問題,注入現在是按類型進行的,`bar`依賴項將首先按類型進行解決,如果找到重復項,則按名稱進行解決:
@Configuration public static class AppConfig {@Beanpublic Foo foo(Bar bar1) {return new Foo(bar1);}@Beanpublic Bar bar1() {return new Bar("bar1");}@Beanpublic Bar bar2() {return new Bar("bar2");} }在上面的示例中,依賴項“ bar1”將被正確注入。 如果您想更明確一點,可以在以下位置添加@Qualifer批注:
@Configuration public class AppConfig {@Beanpublic Foo foo(@Qualifier("bar1") Bar bar1) {return new Foo(bar1);}@Beanpublic Bar bar1() {return new Bar("bar1");}@Beanpublic Bar bar2() {return new Bar("bar2");} }因此,現在是否建議這樣做的問題,在某些情況下我會說是。 例如,如果在不同的@Configuration類中定義了bar bean,則注入依賴項的方式如下:
@Configuration public class AppConfig {@Autowired@Qualifier("bar1")private Bar bar1;@Beanpublic Foo foo() {return new Foo(bar1);}}我發現這里的方法參數方法更簡單:
@Configuration public class AppConfig {@Beanpublic Foo foo(@Qualifier("bar1") Bar bar1) {return new Foo(bar1);}}有什么想法嗎?
翻譯自: https://www.javacodegeeks.com/2014/10/spring-configuration-and-injecting-bean-dependencies-as-method-parameters.html
spring bean依賴
總結
以上是生活随笔為你收集整理的spring bean依赖_Spring @Configuration并将bean依赖项作为方法参数注入的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 华为mate30pro有什么功能
- 下一篇: Spring Boot Actuator