1. ApplicationContextAware 接口
- 用于获取 bean 所在的应用上下文(ApplicationContext)
public interface ApplicationContextAware extends Aware {
void setApplicationContext(ApplicationContext applicationContext) throws BeansException;
}
1.1 示例
@Component
public class SpringBeanUtils implements ApplicationContextAware {
private static ApplicationContext applicationContext;
@Override
public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
SpringBeanUtils.applicationContext = applicationContext;
}
}
2. InitializingBean 接口
当一个类实现 InitializingBean 接口时,Spring IoC容器会在实例化 bean 并注入所有依赖属性后自动调用afterPropertiesSet()
方法,可以用来做一些初始化工作
public interface InitializingBean {
void afterPropertiesSet() throws Exception;
}
2.1 示例
@Component
public class UserProperties implements InitializingBean {
@Override
public void afterPropertiesSet() throws Exception {
this.init();
}
private void init() {
// do something
}
}
3. 运行环境 (EnvironmentAware)
当一个类实现了EnvironmentAware接口时,Spring容器在初始化这个bean之后,会自动调用setEnvironment()方法,将当前应用的环境对象传递给该bean。
Environment 接口提供了访问系统属性、配置文件属性以及自定义属性源的能力
public interface EnvironmentAware extends Aware {
void setEnvironment(Environment environment);
}
3.1 示例
@Component
public class EnvUtils implements EnvironmentAware {
private static Environment environment;
public static String getConfig(String configKey) {
return environment.getProperty(configKey);
}
@Override
public void setEnvironment(Environment environment) {
EnvUtils.environment = environment;
System.out.println(JSON.toJSON(environment));
}
}
【信息由网络或者个人提供,如有涉及版权请联系COOY资源网邮箱处理】
© 版权声明
本平台(www.cooy.cn)的一切软件、教程及内容信息仅限用于学习和研究,付费仅为收集整理归类费用;
不得将上述内容用于商业或者非法用途,否则一切后果用户自行承担负责。本平台资源、内容、信息均来自来自用户上传,版权争议及其他问题与本平台无关。
您必须在下载后的24个小时之内从您的电脑或手机中彻底删除上述下载内容,如果您喜欢该程序或内容,请支持正版以获取更好的服务。我们非常重视版权问题,如有侵权请发送邮件至下方邮件(655465@qq.com),敬请谅解!
如发现违法违规内容,请联系下方邮箱举报,我们收到后将会第一时间处理。
THE END
暂无评论内容