spring中xml读取.properties文件中的属性

PropertyPlaceholderConfigurer读取属性文件


PropertyPlaceholderConfigurer是个bean工厂后置处理器的实现,也就是 BeanFactoryPostProcessor接口的一个实现

作用:
在Spring中,使用PropertyPlaceholderConfigurer可以在XML配置文件中加入外部属性文件,当然也可以指定外部文件的编码。PropertyPlaceholderConfigurer可以将上下文(配置文 件)中的属性值放在另一个单独的标准java Properties文件中去。在XML文件中用${key}替换指定的properties文件中的值。这样的话,只需要对properties文件进 行修改,而不用对xml配置文件进行修改

使用:
先定义properties文件db.properties

jdbc.url=jdbc:mysql://xxxx
jdbc.username=root
jdbc.password=root

定义xml文件并配置


        
            
            	WEB-INF/config/setting/db.properties
            	
            
        
        
    

在xml配置文件中应用属性,在启动容器时,初始化bean时,${key}就会替换成properties文件中的值

为简化PropertyPlaceholderConfigurer的使用,Spring提供了元素,启用它后,开发者便不用配置PropertyPlaceholderConfigurer对象了

PropertyPlaceholderConfigurer内置的功能非常丰富,如果它未找到${xxx}中定义的xxx键,它还会去JVM系统属性(System.getProperty())和环境变量(System.getenv())中寻找。通过启用systemPropertiesMode和searchSystemEnvironment属性,开发者能够控制这一行为。context:property-placeholder大大的方便了我们数据库的配置。这样就可以为spring配置的bean的属性设置值了

注:spring容器中最多只能定义一个context:property-placeholder,否则会报错:Could not resolve placeholder XXX,但如果想引入多个属性文件怎么办那,可以使用通配符:

你可能感兴趣的:(spring,xml,java)