详解利用Spring加载Properties配置文件
作者:陈的简书 时间:2023-04-04 20:53:13
记得之前写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的单元测试框架也没有怎么研究,如果知道的读者可以再下方留言告述我,如果没人回答的话只能以后有时间慢慢研究了。
来源:http://www.jianshu.com/p/c5fb54266415
标签:spring,加载,properties
0
投稿
猜你喜欢
JAVA swing布局管理器实例解析
2022-01-11 05:05:15
springBoot 打war包 程序包com.sun.istack.internal不存在的问题及解决方案
2023-03-28 06:12:40
英雄联盟辅助lol挂机不被踢的方法(lol挂机脚本)
2022-03-15 12:57:59
MyEclipse设置Console输出到文件的实现方法
2022-01-14 10:37:03
Android 文件操作详解及简单实例
2021-10-29 06:23:01
Java如何实现树的同构?
2023-11-28 09:55:19
mybatis 映射文件中if标签判断字符串相等的两种方式
2023-08-02 16:06:44
在Spring中自动装配Bean的属性
2022-01-29 07:01:28
Android 7.0行为变更 FileUriExposedException解决方法
2023-07-28 01:38:29
android自定义ImageView仿图片上传示例
2023-08-11 20:34:08
Java C++题解leetcode904水果成篮
2023-12-08 21:06:09
Android仿美团外卖菜单界面
2022-03-28 02:28:35
java String校招面试题过程详解
2021-12-01 11:11:21
详解Android中Notification通知提醒
2023-09-10 09:57:19
easyexcel读取excel合并单元格数据的操作代码
2022-08-26 16:26:21
C#开发Winform控件之打开文件对话框OpenFileDialog类
2023-04-19 10:53:16
使用IntelliJ IDEA 15和Maven创建Java Web项目(图文)
2023-08-26 07:10:15
详解JAVA中priorityqueue的具体使用
2022-05-17 22:53:50
C#如何让winform程序中的输入文本框保留上次的输入
2022-12-29 12:54:00
JSON复杂数据处理之Json树形结构数据转Java对象并存储到数据库的实现
2023-09-17 17:03:59