Spring获取properties文件中的属性
2023-09-14 08:56:59 时间
1.前言
本文主要是对这两篇blog的整理,感谢作者的分享
Spring使用程序方式读取properties文件
Spring通过@Value注解注入属性的几种方式
2.配置文件
application.properties
socket.time.out=1000
3.使用spring代码直接载入配置文件,获取属性信息
代码如下:
Resource resource = new ClassPathResource("/application.properties");
Properties props = PropertiesLoaderUtils.loadProperties(resource);
4.使用@Value注解获取属性
4.1 使用PropertyPlaceholderConfigurer
spring配置
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="classpath:application.properties" />
</bean>
代码
@Value("${socket.time.out}")
int socketTimeout;
4.2 使用PropertiesFactoryBean
Spring配置
<bean id="application" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="location" value="classpath:application.properties" />
</bean>
代码
@Value("#{$application['socket.time.out']}")
int socketTimeOut;
4.3 备注:
如果将代码部署到resin容器,使用4.1的方法,在程序启动时,总是报无法将”${socket.time.out}”转换成整数的错误。这说明程序并没有找到对应的配置属性。但是在进行单元测试的使用使用ApplicationContext时,则能够找到对应的属性。这可能是在容器里面使用的是WebApplicationContext的问题吧。目前还没有找到确切的原因,现在这里mark一下。
使用4.2的方式,部署之后能够获取对应的属性值。
https://blog.csdn.net/wlfighter/article/details/52563605
相关文章
- spring的事件监听应用场景_java监听器的原理与实现
- Spring学习笔记(三)——Spring注解开发&spring与Junit整合测试
- 谨慎升级spring-data-elasticsearch 4.4.2
- Spring中@Autowired和@Resource的区别
- 使用Spring AOP实现异步文件上传
- 【Spring Boot 20,孙鑫Java视频教程百度网盘
- Spring Cloud Config
- Spring笔记
- Spring Boot文件上传
- 面试突击87:说一下 Spring 事务传播机制?
- 中高级程序员可能都不会使用spring-boot-starter-jdbc访问MySQL
- Spring_Cli命令行使用
- spring整合s3实现文件上传下载
- 译:响应式Spring Cloud初探
- Spring Boot的性能优化(二)
- Spring Cloud Task取消任务
- 【愚公系列】2023年04月 Java教学课程 142-Spring MVC框架的(文件上传下载、Restful风格API)
- 基于 Maven 的多模块 Java ( Spring ) 项目构建详解编程语言
- 基于spring的文件上传–单文件上传详解编程语言
- Spring Boot入门第二天:一个基于Spring Boot的Web应用,使用了Spring Data JPA和Freemarker。详解编程语言
- Spring MVC环境中的文件上传功能实现详解编程语言
- Spring Cloud(二):Spring Cloud Eureka Server高可用注册服务中心的配置详解编程语言
- Spring Boot(十七):使用Spring Boot上传文件详解编程语言
- Spring Boot(十三):spring boot小技巧详解编程语言
- 用Spring和c3p0工具简单的实现增删改查详解编程语言
- Spring MVC多文件上传(附带实例)
- spring使用Spring整合Redis和Jedis构建高性能应用(redisjedis与)
- Spring整合Redis简单实现高效缓存(spring集成redis)