2017-05-25 74 views
0

對不起,如果這個問題聽起來含糊不清,但我會嘗試增加一些清晰度。你可以在彈簧容器中直接注入spring bean嗎?

如果我有一個類關聯,如下所示。

A -> B -> C -> D 

隨着經由彈簧bean配置正在創建類A,而B,C & d被彈簧容器例如外部直接在代碼創建的。如果我想將一個新的bean連接到D類中,我可以在D中使用@Inject註釋,然後在Spring bean配置中創建一個關聯的@Bean定義,該定義創建A,或者因爲B,C不是Spring bean不行?

+0

沒有它不會工作,你需要手動設置到對象D. –

+0

好了,所以注入一個Spring bean爲d級,我就必須有B,C&d全部創建爲春天的豆子? – Juckky

+0

@PraneethRamesh你可能是錯的。 https://docs.spring.io/spring-framework/docs/current/javadoc-api/org/springframework/beans/factory/config/AutowireCapableBeanFactory.html – Antoniossss

回答

1

訪問您可以使用new B();對象,並具有相關通過Spring注入管理

比方說一個A實例由Spring容器管理,並B樣子:

public class B { 

    @Autowire 
    private A a; 
... 
} 

... 
B b = new B(); 
... 

如果你想使用Spring@Autowire注入依賴於B

  • 註釋類B與:@Configurable(dependencyCheck = true)
  • 使用a運行Java進程Java代理:java -javaagent:<path to spring-agent-${spring.version}.jar> ...