十年过去了,我却从来没有在博客中发表,今天开始处女作吧(可能都是备忘形式,不会考虑写太全,自己多思考)。
=========================================================================================
Spring 使用了大量的 Aware 接口,让我们开始正确的了解一下它吧。
(一)使用前须知:
(1)它是可以被Spring框架识别;
(2)它是一种回调接口;
(3)每一个子接口只有一个方法且只能有一个参数;
(二)常用子接口:
名称 | 路径 | 说明 |
ApplicationContextAware | org.springframework.context | 实现后可使用 ApplicationContext 获取 Spring 的几乎所有。 |
BeanFactoryAware | org.springframework.context | 实现后可使用 BeanFactory 获取 Spring 的 bean 类们。 |
ServletContextAware | org.springframework.context | 实现后可使用 ServletContext,获取 Web 上下文的信息。 |
(三)应用场景:
(3.1)想通过单例的方式,在任何位置中调用某 bean 类
public class Services implements BeanFactoryAware {
private static BeanFactory _beanFactory = null;
public void setBeanFactory(BeanFactory beanFactory) throws BeansException {
_beanFactory = beanFactory;
}
public static final TestService getTestService() {
return _beanFactory.getBean("testServiceImpl", TestService.class);
}
}
紧接着,在 spring的 xml 配置中加上
<bean class="com.yourcompany.project.Services"></bean>
这样你就可以在 JSP 页面中使用
Services.getTestService()