2016-05-12 41 views
0

@Bean註解是用來爲應用程序上下文創建bean的,我們可以把它裏面的邏輯創建一個對象。 但我們是否可以在我們的代碼中手動調用此方法,其中創建的bean的引用不是自動裝配的? 我可以調用這個方法,但這是一個好習慣嗎?如果我調用它,那麼這是否意味着我沒有正確設計我的類依賴?正確使用@Bean帶註釋的方法

有人可以分享他們的想法嗎?

感謝,

阿馬爾

+0

你問如何創建Spring管理豆之外XML或Java配置? – 2016-05-12 13:30:25

+1

不要調用'@ Bean'註釋的方法,然後從'@ Configuration'類中調用... –

+0

@RC。是的,可以說我正在調用一種方法。在那個方法裏面,我需要那個bean,我可以在那裏調用這個方法嗎? –

回答

-1

@Bean註釋創建Spring管理的bean。要獲得它的使用@Autowired。

如果你需要訪問某個地方的對象,你不能自動裝載它,那麼通常你應該考慮重新設計你的代碼。

但是,如果您堅持,您將不得不手動創建對象,或以編程方式從應用程序上下文中獲取它。

像這樣的東西應該工作:

ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); 
ctx.getBean("someName"); 
0

你總是有兩種選擇:

  1. 基於註解
  2. 基於XML的

如果您以任何理由唐不想使用@Autowired註釋,你可以g把你的手放在ctx.getBean()上。

ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml"); 
ctx.getBean("beanName"); 

您可以瞭解這個冬青戰爭here

相關問題