亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為何setApplicationContext方法沒有調用?

為何setApplicationContext方法沒有調用?

藍黑Frizen 2017-08-30 23:39:21
AppclicationContextWare實現對象public?class?MyApplicationContext?implements?ApplicationContextAware,?InitializingBean?{ public?MyApplicationContext()?{ //?TODO?Auto-generated?constructor?stub } @Override public?void?setApplicationContext(ApplicationContext?context)?throws?BeansException?{ //?TODO?Auto-generated?method?stub System.out.println("ApplicationContextg"); System.out.println("MyApplicationContext:?setApplicationContext?-?"?+?context.getBean("myApplicationContext").hashCode()); } @Override public?void?afterPropertiesSet()?throws?Exception?{ //?TODO?Auto-generated?method?stub System.out.println("初始化對象?-?MyApplicationContext"); } }配置文件<?xml?version="1.0"?encoding="UTF-8"?> <beans?xmlns="http://www.springframework.org/schema/beans" ????xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ????xsi:schemaLocation="http://www.springframework.org/schema/beans ????????http://www.springframework.org/schema/beans/spring-beans.xsd"?> ????<bean?id="myApplicationContext"?class="com.springDemo.aware.MyApplicationContext"?/> </beans>測試類@RunWith(BlockJUnit4ClassRunner.class) public?class?AwareTest?{ DefaultListableBeanFactory?factory; @Before public?void?init()?{ System.out.println("初始化BeanFactory"); this.factory?=?new?DefaultListableBeanFactory(); XmlBeanDefinitionReader?reader?=?new?XmlBeanDefinitionReader(factory); ClassPathResource?resource?=?new?ClassPathResource("resource/bean-aware.xml"); reader.loadBeanDefinitions(resource); } @After public?void?destory()?{ } @Test public?void?test()?{ MyApplicationContext?context?=?(MyApplicationContext)this.factory.getBean("myApplicationContext"); System.out.println("Get?Bean:?-?"?+?context.hashCode()); } }輸出打印初始化BeanFactory 八月?30,?2017?11:36:39?下午?org.springframework.beans.factory.xml.XmlBeanDefinitionReader?loadBeanDefinitions 信息:?Loading?XML?bean?definitions?from?class?path?resource?[resource/bean-aware.xml] 初始化對象?-?MyApplicationContext Get?Bean:?-?1165897474可見,能成功拿到對象,InitializingBean的方法也成功調用,那應該是成功實例化了的,但是setApplicationContext就是不調用。為什么
查看完整描述

2 回答

?
藍黑Frizen

TA貢獻1條經驗 獲得超0個贊

好像把DefaultListableBeanFactory實現的容器改成ClassPathXmlApplicationContext實現就可以了,不知道是不是我寫錯了什么。


查看完整回答
反對 回復 2017-08-31
  • 2 回答
  • 0 關注
  • 4387 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號