Spring 中的Aware用于帮助bean获取Spring Bean获取Spring容器的功能。
如这些Aware:
ApplicationContextAware//获取容器服务BeanNameAware//获取BeanNameResourceLoaderAware//获取资源加载器服务
想获取什么功能就实现什么Aware即可。
以 ApplicationContextAware为例,实现获取Aware功能的步骤:
1、实现相应的Aware接口
2、重写setXXX方法
此时以及可以获取到ApplicationContext的功能了,不过还需要将这个Bean加入容器中。
3、加入容器
直接使用注解即可。
@Service
public class AppContextAware implements ApplicationContextAware {ApplicationContext applicationContext;
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {this.applicationContext=applicationContext;}public void hello(){//user为容器中存在的beanUser user = Bean("user", User.class);System.out.println(user);//获取容器的环境、User.name为设置好的属性Environment environment = Environment();String property = Property("User.name");System.out.println(" 属性:"+property);
}
}
因为实现的是ApplicationContextAware接口,所以能获取到容器的所有功能。
为避免混乱,通常是用什么功能获取那个Aware.
本文发布于:2024-02-05 07:55:41,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170727814464726.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |