SpringBoot下读取自定义properties配置文件

SpringBoot工程默认读取application.properties配置文件。如果需要自定义properties文件,如何读取呢?

一、在resource中新建.properties文件

 在resource目录下新建一个config文件夹,然后新建一个.properties文件放在该文件夹下。如图remote.properties所示

 

 

 

二、编写配置文件

remote.uploadFilesUrl=/resource/files/ 
remote.uploadPicUrl=/resource/pic/

三、新建一个配置类RemoteProperties.java

@Configuration
@ConfigurationProperties(prefix = "remote", ignoreUnknownFields = false)
@PropertySource("classpath:config/remote.properties")
@Data
@Component
public class RemoteProperties {
private String uploadFilesUrl;
private String uploadPicUrl;
}

其中
@Configuration 表明这是一个配置类
@ConfigurationProperties(prefix = "remote", ignoreUnknownFields = false) 该注解用于绑定属性。prefix用来选择属性的前缀,也就是在remote.properties文件中的“remote”,ignoreUnknownFields是用来告诉SpringBoot在有属性不能匹配到声明的域时抛出异常。
@PropertySource("classpath:config/remote.properties") 配置文件路径
@Data 这个是一个lombok注解,用于生成getter&setter方法,详情请查阅lombok相关资料
@Component 标识为Bean

四、如何使用?
在想要使用配置文件的方法所在类上表上注解
EnableConfigurationProperties(RemoteProperties.class)

并自动注入

@Autowired

RemoteProperties remoteProperties;

在方法中使用 remoteProperties.getUploadFilesUrl()就可以拿到配置内容了。

@EnableConfigurationProperties(RemoteProperties.class)
@RestController
public class TestService{
    @Autowired
    RemoteProperties remoteProperties;
 
    public void test(){
        String str = remoteProperties.getUploadFilesUrl();
        System.out.println(str);
    }
}

  

这里str就是配置文件中的”/resource/files/”了。

 

 

posted @   iTao0128  阅读(1921)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示