行业资讯 2025年08月6日
0 收藏 0 点赞 776 浏览 1897 个字
摘要 :

文章目录 准备application.properties 1. @Value 2. Environment 3. @ConfigurationProperties 总结 你知道如何在 Spring Boot 中访问 application.properties 中的值……




你知道如何在 Spring Boot 中访问 application.properties 中的值吗?这里介绍3种方式来实现该功能,以下使用代码来直接演示说明。

准备application.properties

Spring默认从根类路径加载application.properties文件。稍后,我们将展示几种访问下面application.properties中定义的值的方法。

#Logging
logging.level.org.springframework.web=ERROR
logging.level.com.mkyong=DEBUG

#email server
email.smtp.server=smtp.gmail.com
email.smtp.port=467
email.smtp.username=hello@gmail.com

这是项目的结构供参考。

如何在 Spring Boot 中访问 application.properties 中的值

1. @Value

在SpringBoot中,我们可以使用@Value注解从Spring管理的bean中访问在application.properties中定义的值。

@Component
public class EmailServer {

    // 注入 smtp.gmail.com
    @Value(\"${email.smtp.server}\")
    private String server;

    // 注入467
    @Value(\"${email.smtp.port}\")
    private Integer port;

    // 注入 hello@gmail.com
    @Value(\"${email.smtp.username}\")
    private String username;

    //setters, getters
}

下面是一个 REST 控制器,用于以 JSON 格式返回上述EmailServer对象。

@RestController
public class MainController {

  @Autowired
  private EmailServer email;

  @GetMapping(\"/email\")
  public EmailServer getEmail() {
      return email;
  }
}

2. Environment

另外,我们还可以自动装配org.springframework.core.env.Environment,并访问在application.properties中定义的值。

import org.springframework.core.env.Environment;
@RestController
public class EnvironmentController {

    @Autowired
    private Environment env;

    @GetMapping(\"/env\")
    public Map<String, String> getEmailFromEnvironment() {

        String server = env.getProperty(\"email.smtp.server\");
        String username = env.getProperty(\"email.smtp.username\");
        String port = env.getProperty(\"email.smtp.port\");

        Map<String, String> map = new HashMap<>();
        map.put(\"server\", server);
        map.put(\"username\", username);
        map.put(\"port\", port);

        return map;
    }

}

3. @ConfigurationProperties

@ConfigurationProperties将application.properties中的值绑定到一个Java对象中。

@Component
@ConfigurationProperties(\"email.smtp\") // 前缀
public class EmailServer2 {

  private String server;    // 注入 smtp.gmail.com

  private Integer port;     // 注入 467

  private String username;  // 注入 hello@gmail.com

  //getters, setters
}

总结

以上就是如何在 Spring Boot 中访问 application.properties 中的值的全部内容,希望对你有帮助。

微信扫一扫

支付宝扫一扫

版权: 转载请注明出处:https://www.zuozi.net/9146.html

管理员

相关推荐
2025-08-06

文章目录 一、Reader 接口概述 1.1 什么是 Reader 接口? 1.2 Reader 与 InputStream 的区别 1.3 …

988
2025-08-06

文章目录 一、事件溯源 (一)核心概念 (二)Kafka与Golang的优势 (三)完整代码实现 二、命令…

465
2025-08-06

文章目录 一、证明GC期间执行native函数的线程仍在运行 二、native线程操作Java对象的影响及处理方…

348
2025-08-06

文章目录 一、事务基础概念 二、MyBatis事务管理机制 (一)JDBC原生事务管理(JdbcTransaction)…

456
2025-08-06

文章目录 一、SnowFlake算法核心原理 二、SnowFlake算法工作流程详解 三、SnowFlake算法的Java代码…

517
2025-08-06

文章目录 一、本地Jar包的加载操作 二、本地Class的加载方法 三、远程Jar包的加载方式 你知道Groo…

832
发表评论
暂无评论

还没有评论呢,快来抢沙发~

助力内容变现

将您的收入提升到一个新的水平

点击联系客服

在线时间:08:00-23:00

客服QQ

122325244

客服电话

400-888-8888

客服邮箱

122325244@qq.com

扫描二维码

关注微信客服号