bean获取Spring的容器
通常都是容器来获取bean的
但是很多时候某个bean希望使用容器的功能,例如某个bean希望使用容器的国际化功能
这个时候这个bean必须获取到Spring的容器。
两个步骤:
a. bean必须实现 ApplicationContextAware 接口
b. 重写接口的抽象方法
// bean中获取Spring容器
private ApplicationContext ctx ;
@Override
public void setApplicationContext(ApplicationContext ctx)
throws BeansException {
this.ctx = ctx;
}
bean获取到Spring容器原理:
当bean都加载完成以后容器会扫描所有的bean看哪个bean实现了ApplicationContextAware接口
如果某个bean实现了这个接口,容器会调用该bean的setApplicationContext方法
通常都是容器来获取bean的
但是很多时候某个bean希望使用容器的功能,例如某个bean希望使用容器的国际化功能
这个时候这个bean必须获取到Spring的容器。
两个步骤:
a. bean必须实现 ApplicationContextAware 接口
b. 重写接口的抽象方法
// bean中获取Spring容器
private ApplicationContext ctx ;
@Override
public void setApplicationContext(ApplicationContext ctx)
throws BeansException {
this.ctx = ctx;
}
bean获取到Spring容器原理:
当bean都加载完成以后容器会扫描所有的bean看哪个bean实现了ApplicationContextAware接口
如果某个bean实现了这个接口,容器会调用该bean的setApplicationContext方法
将自己注入到该bean中去,该bean就获取到了Spring容器。
代码:后面需要再补。