SpringBoot如何读取application.properties配置文件

 更新时间:2024年05月09日 11:29:33   作者:培根芝士  
这篇文章主要介绍了SpringBoot如何读取application.properties配置文件问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

方案1

使用PropertiesLoaderUtils

import java.util.Properties;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.support.PropertiesLoaderUtils;
 
public static Properties readPropertiesFile(String fileName) {
    try {
        Resource resource = new ClassPathResource(fileName);
        Properties props = PropertiesLoaderUtils.loadProperties(resource);
        return props;
    } catch (Exception e) {
        System.out.println("读取配置文件:" + fileName + "异常,读取失败");
        e.printStackTrace();
    }
    return null;
}
Properties properties = readPropertiesFile("application.properties");
System.out.println(properties.getProperty("spring.rabbitmq.host"));

方案2

使用Environment

import org.springframework.core.env.Environment;
 
@Autowired
private Environment environment;
 
System.out.println(environment.getProperty("spring.rabbitmq.host"));

方案3

使用@Value

import org.springframework.beans.factory.annotation.Value;
 
@Value("${spring.rabbitmq.host}")
private String rabbitmqHost;
 
System.out.println(rabbitmqHost);

方案4

使用@ConfigurationProperties

属性类

import lombok.Getter;
import lombok.Setter;
import org.springframework.boot.context.properties.ConfigurationProperties;
 
@Getter
@Setter
@ConfigurationProperties(prefix = "spring.rabbitmq")
public class TestProperties {
    private String host;
    private String port;
    private String username;
    private String password;
}

注册属性配置类

import org.springframework.boot.SpringBootConfiguration;
import org.springframework.boot.context.properties.EnableConfigurationProperties;
 
@EnableConfigurationProperties(TestProperties.class)
@SpringBootConfiguration
public class TestConfiguration {
}

使用配置类

@Autowired
private TestProperties testProperties;
 
System.out.println(testProperties.getHost());

static静态方法读取配置

@Component
public class UserUtil {
    // 使用@Value注解读取配置
    @Value("${user.name}")
    private String name;
 
    // 设置静态成员变量用来接收@Value注入的值
    private static String userName;
 
    // 使用@PostConstruct注解用于静态变量赋值
    @PostConstruct
    public void getUserName() {
        userName = this.name;
    }
 
    // 测试方法静态变量是否被赋值
    public static String test() {
        return userName;
    }
}

调用示例: 

String name = UserUtil.test();

使用 @Component 属性注解说明是需要在启动类 Application 启动的时候加载。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Java Socket实现文件发送和接收功能以及遇到的Bug问题

    Java Socket实现文件发送和接收功能以及遇到的Bug问题

    这篇文章主要介绍了Java Socket实现文件发送和接收功能以及遇到的Bug问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-08-08
  • Spring Security基于JWT实现SSO单点登录详解

    Spring Security基于JWT实现SSO单点登录详解

    这篇文章主要介绍了Spring Security基于JWT实现SSO单点登录详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-09-09
  • Spring security密码加密实现代码实例

    Spring security密码加密实现代码实例

    这篇文章主要介绍了Spring security密码加密实现代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-04-04
  • 详解在Spring Boot中使用Mysql和JPA

    详解在Spring Boot中使用Mysql和JPA

    本文向你展示如何在Spring Boot的Web应用中使用Mysq数据库,也充分展示Spring Boot的优势
    2017-04-04
  • Logback在SpringBoot中的详细配置教程

    Logback在SpringBoot中的详细配置教程

    Spring Boot 默认会加载 classpath 下的 logback-spring.xml(推荐)或 logback.xml 作为 Logback 的配置文件,下面我们来看看具体的配置教程吧
    2025-05-05
  • Java中将接口返回的字节串转为文件详解

    Java中将接口返回的字节串转为文件详解

    这篇文章主要给大家介绍了关于Java中将接口返回的字节串转为文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2021-11-11
  • SpringAI Agent开发秘籍如何让javaer也可以用上Agent Skills

    SpringAI Agent开发秘籍如何让javaer也可以用上Agent Skills

    文章介绍了如何使用SpringA和Skills构建一个代码评审应用,通过实战示例展示如何利用SpringAI和大模型实现零配置的代码评审功能,感兴趣的朋友跟随小编一起看看吧
    2026-04-04
  • SpringBoot集成Tess4J实现OCR的示例代码

    SpringBoot集成Tess4J实现OCR的示例代码

    Tess4J是一个基于Tesseract OCR引擎的Java接口,可以用来识别图像中的文本,说白了,就是封装了它的API,让Java可以直接调用,本文给大家介绍了SpringBoot集成Tess4J实现OCR的示例,需要的朋友可以参考下
    2024-12-12
  • idea如何开启菜单栏

    idea如何开启菜单栏

    文章介绍了如何通过修改IntelliJ IDEA的样式文件`ui.lnf.xml`来重新显示被关闭的菜单栏,并分享了解决问题的步骤
    2025-01-01
  • 使用Logback设置日志级别

    使用Logback设置日志级别

    这篇文章主要介绍了使用Logback设置日志级别的操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-07-07

最新评论