spring加载properties 详解利用Spring加载Properties配置文件
陈的简书 人气:0想了解详解利用Spring加载Properties配置文件的相关内容吗,陈的简书在本文为您仔细讲解spring加载properties的相关知识和一些Code实例,欢迎阅读和指正,我们先划重点:spring加载properties,spring配置properties,spring,加载配置文件,下面大家一起来学习吧。
记得之前写Web项目的时候配置文件的读取都是用Properties这个类完成的,当时为了项目的代码的统一也就没做什么改动。但事后一直在琢磨SpringMVC会不会都配置的注解功能了?经过最近的研究返现SpringMVC确实带有这一项功能,Spring确实很强大。
因为代码很简单,我就贴上我测试的代码,按照步骤做就可以实现了。
新建配置文件jdbc.properties
username=root password=root
新建并配置文件spring-properties
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd"> <bean id="configProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean"> <property name="locations"> <list> <value>classpath:jdbc.properties</value> </list> </property> <property name="fileEncoding" value="UTF-8"/> </bean> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PreferencesPlaceholderConfigurer"> <property name="properties" ref="configProperties"/> </bean> </beans>
新建单元测试
@RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "classpath:spring/spring-properties.xml") public class TestTrans { @Value("#{configProperties['username']}") private String username; @Value("#{configProperties['password']}") private String password; @Test public void testProperties(){ System.out.println("---"); System.out.println(username); System.out.println(password); } }
使用上面这种方式注解Properties的话Intelij IDEA会有提示的,按住Ctrl然后将鼠标点击属性'username'会调入到对应的配置文件中,这样也可以验证我们的配置是否生效。
现在虽然知道如何使用注解加载配置文件了,但是PropertiesFactoryBean和PreferencesPlaceholderConfigurer的区别和作用还没有弄清楚,另外Spring的单元测试框架也没有怎么研究,如果知道的读者可以再下方留言告述我,如果没人回答的话只能以后有时间慢慢研究了。
加载全部内容