@Bean
註解是用來爲應用程序上下文創建bean的,我們可以把它裏面的邏輯創建一個對象。 但我們是否可以在我們的代碼中手動調用此方法,其中創建的bean的引用不是自動裝配的? 我可以調用這個方法,但這是一個好習慣嗎?如果我調用它,那麼這是否意味着我沒有正確設計我的類依賴?正確使用@Bean帶註釋的方法
有人可以分享他們的想法嗎?
感謝,
阿馬爾
@Bean
註解是用來爲應用程序上下文創建bean的,我們可以把它裏面的邏輯創建一個對象。 但我們是否可以在我們的代碼中手動調用此方法,其中創建的bean的引用不是自動裝配的? 我可以調用這個方法,但這是一個好習慣嗎?如果我調用它,那麼這是否意味着我沒有正確設計我的類依賴?正確使用@Bean帶註釋的方法
有人可以分享他們的想法嗎?
感謝,
阿馬爾
@Bean註釋創建Spring管理的bean。要獲得它的使用@Autowired。
如果你需要訪問某個地方的對象,你不能自動裝載它,那麼通常你應該考慮重新設計你的代碼。
但是,如果您堅持,您將不得不手動創建對象,或以編程方式從應用程序上下文中獲取它。
像這樣的東西應該工作:
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
ctx.getBean("someName");
你總是有兩種選擇:
如果您以任何理由唐不想使用@Autowired註釋,你可以g把你的手放在ctx.getBean()上。
ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");
ctx.getBean("beanName");
您可以瞭解這個冬青戰爭here
你問如何創建Spring管理豆之外XML或Java配置? – 2016-05-12 13:30:25
不要調用'@ Bean'註釋的方法,然後從'@ Configuration'類中調用... –
@RC。是的,可以說我正在調用一種方法。在那個方法裏面,我需要那個bean,我可以在那裏調用這個方法嗎? –