簡體   English   中英

正確使用@Bean帶注釋的方法

[英]Correct use of the @Bean annotated method

@Bean批注用於為應用程序上下文創建bean,我們可以將邏輯放在其中以創建對象。 但是我們可以在代碼中的某個地方手動調用此方法嗎,其中所創建的bean的引用不是自動裝配的? 我可以調用此方法,但這是一個好習慣嗎? 如果我打電話給我,那不意味着我沒有正確設計我的類依賴項嗎?

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

謝謝,

阿瑪

您總是有兩個選擇:

  1. 基於注釋
  2. 基於XML

如果出於任何原因不想使用@Autowired注釋,可以使用ctx.getBean()。

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

您可以在此處閱讀有關這場冬青之戰的信息

@Bean批注創建一個spring托管的bean。 要使用它,請使用@Autowired。

如果需要訪問無法自動連線的對象,則通常應考慮重新設計代碼。

但是,如果您堅持要求,則要么必須手動創建對象,要么以編程方式從應用程序上下文中獲取它。

這樣的事情應該起作用:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM