Aware接口是一种框架辅助属性注入的一种思想,其他框架中也可以看到类似的接口。框架具备高度封装性,我们接触到的一般都是业务代码,一个底层功能API不能轻易的获取到, 但是这不意味着永远用不到这些对象,如果用到了就可以使用框架提供的类似Aware的接口,让框架给我们注入该对象。
Aware接口 | 回调方法 | 作用 |
---|---|---|
ServletContextAware | setServletContext(ServletContext context) | Spring框架回调方法注入ServletContext对象, web环境下才生效 |
BeanFactoryAware | setBeanFactory(BeanFactory factory) | Spring框架回调方法注入beanFactory对象 |
BeanNameAware | setBeanName(String beanName) | Spring框架回调方法注入当前Bean在容器中的beanName |
ApplicationContextAware | setApplicationContext(ApplicationContext applicat tionContext) | Spring框架回调方法注入applicationContext对象 |
在自定义的普通Bean对象中,实现Aware接口,重写接口方法
/*** 实现的几个Aware接口*/
public class UserServiceImpl implements ApplicationContextAware, BeanNameAware, BeanFactoryAware {/*** BeanNameAware接口方法* @param name*/public void setBeanName(String name) {System.out.println("beanName: " + name);}/*** BeanFactoryAware接口方法* @param beanFactory* @throws BeansException*/public void setBeanFactory(BeanFactory beanFactory) throws BeansException {System.out.println("beanFactory: " + beanFactory);}/*** ApplicationContextAware接口方法* @param applicationContext* @throws BeansException*/public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {System.out.println("applicationContext: " + applicationContext);}
}
控制台打印:
本文发布于:2024-02-05 07:56:18,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170727821764730.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |