一个bean可以实现BeanFactoryAware接口的方式获得一个他所在BeanFactory的引用。同样,也可以通过实现ApplicationContextAware接口获得他在ApplicationContext的引用。
配置:
- publicclassContextAwareDemoimplementsApplicationContextAware {
- privateApplicationContext ctx;
- publicvoidsetApplicationContext(ApplicationContext applicationContext)
- throwsBeansException {
- ctx = applicationContext;
- }
- publicstaticvoidmain(String[] args) {
- ApplicationContext ctx =newClassPathXmlApplicationContext(
- "/META-INF/spring/acdemo1-context.xml");
- ContextAwareDemo demo = (ContextAwareDemo) ctx.getBean("contextAware");
- demo.displayAppContext();
- }
- publicvoiddisplayAppContext() {
- System.out.println(ctx);
- }
- }
配置:
- <?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="contextAware"class="com.apress.prospring2.ch04.context.ContextAwareDemo"/>
- </beans>
本文介绍了一个具体的示例,展示了如何使用Spring框架让一个Bean通过实现ApplicationContextAware接口来获取其所在的ApplicationContext引用。此外,还提供了相应的Java代码及配置文件。
1354

被折叠的 条评论
为什么被折叠?



