之前一直使用<context:property-placeholder location="classpath:xx"/>这个标签来加载配置文件,今天见到了利用一个spring自身带的类来加载配置文件的方式:

初识Spring框架下的PropertyPlaceholderConfigurer类

 对于这些配置文件加载问题,将它们全部扔给Spring去解决是最完美的。

在说一下这个类,继承及实现的关系是这个样子的:初识Spring框架下的PropertyPlaceholderConfigurer类

初识Spring框架下的PropertyPlaceholderConfigurer类

初识Spring框架下的PropertyPlaceholderConfigurer类

初识Spring框架下的PropertyPlaceholderConfigurer类

其中比较能发挥特点的应该是实现了BeanFactoryPostProcessor类,实际上还是将配置文件交给spring的工厂来进行加载。

原因如下:

初识Spring框架下的PropertyPlaceholderConfigurer类

初识Spring框架下的PropertyPlaceholderConfigurer类

总之,BeanFactory很强大。

最后借用一下网上资料的对比:

 不论是使用PropertyPlaceholderConfigurer还是通过context:property-placeholder这种方式进行实现,都需要记住,Spring框架不仅仅会读取我们的配置文件中的键值对,而且还会读取Jvm 初始化的一下系统的信息。有时候,我们需要将配置Key定一套命名规则 ,例如:

项目名称.组名.功能名=配置名  

project.group.function=001

这种方式可以尽量减少与系统配置信息的冲突!




相关文章: