转自:
http://www.java265.com/JavaFramework/Spring/202207/3975.html
下文笔者讲述initPropertySource()方法的功能简介说明,如下所示
initPropertySource()方法简介
initPropertySource()方法简介: 主要用于Environment后 为系统提供良好的扩展
initPropertySource()方法启动点
public ClassPathXmlApplicationContext(String[] configLocations, boolean refresh, ApplicationContext parent) throws BeansException{ super(parent); setConfigLocationins(configurations); if(refresh){ refresh(); } } refresh()中的第一个方法prepareRefresh() 调用initPropertySources()方法 protected void prepareRefresh(){ initPropertySources(); } 从以上的源码中 我们得知prepareRefresh()中 initPropertySources()方法并没有任何参数 当进入initPropertySources()方法内部,也会发现该方法是空的,没有任何逻辑。 Spring采用此种方式设计的目的 为了让用户根据自己的需要 重写initPropertySources()方法 并在其中实现自己的逻辑
例
定义项目启动时,必须拥有属性 fileCodingType
那么我们就可以通过扩展initPropertySources()方法的方式
使系统必须拥有此属性
public class MyClassPathXmlApplicationContext extends ClassPathXmlApplicationContext{
protected void initPropertySources(){
//添加验证要求
getEnvironment().setRequiredProperties(\"fileCodingType\");
}
}
来源:https://www.cnblogs.com/java265/p/16476685.html
本站部分图文来源于网络,如有侵权请联系删除。