spring 某些类 从 DB 初始化 一些属性
在spring初始化过程中加载数据库中的数据
项目中有这个需求 需启动时将某些属性赋DB读到的值
达到同步数据的目的
考虑 1:构造函数 不可以 dao还未初始化 null point
2:xx 属性 = dao.getXX.... dao还未初始化
使用BeanPostProcessor可以
public class PBSTrackManagerPostProcessor implements BeanPostProcessor
{
public Object postProcessAfterInitialization(Object obj, String s)
throws BeansException
{
if(obj instanceof PBSTrackManager)
{
((PBSTrackManager) obj).plcObjectInit();
}
return obj;
}
public Object postProcessBeforeInitialization(Object obj, String s)
throws BeansException
{
return obj;
}
}
但要注意配置文件
<bean id="pbsTrackManagerPostProcess" class="cn.edu.hust.mes.service.manager.productionplan.impl.PBSTrackManagerPostProcessor">
!!!!
default-lazy-init="false"
实时加载才可以