返回介绍

配置文件和如何添加并获取系统配置

发布于 2025-03-08 13:29:56 字数 2564 浏览 0 评论 0 收藏 0

下图中的 application.properties 文件就是全局配置文件,用来改变 Spring Boot 中的默认配置项,命名是 application(默认)。除此之外,还有 application.yml 这种格式的配置文件

创建 application.properties 文件时,会根据不同环境创建 application-dev.properties、 application-test.properties、application-prod.properties 三个配置文件分别用于开发、测试、线 上正式运行环境的配置,而 application.properties 适合任何环境。如果你想测试并读取 application- test.properties 文件中的配置,只需要在全局配置文件中配置 spring.profiles.active=test ,同理开发环境就是设成 dev

要是部署在服务器上运行打包的 jar,可以通过参数设置 java -jar XXX.jar --spring.profiles.active=test 读取 application-test.properties 文件中的配置

还有一种是在代码中指定读取哪个配置文件,即在启动类的 main 方法中改成如下:

public static void main(String[] args) {
    SpringApplicationBuilder builder = new SpringApplicationBuilder(QuickStartDemoApplication.class);
    builder.application().setAdditionalProfiles("dev");// dev 表示读取开发环境的配置文件
    builder.run(args);
    //SpringApplication.run(QuickStartDemoApplication.class, args);
  }

java -jar 可以通过 --spring.config.name=xxx 参数指定配置文件的名字, --spring.config.location=xxx 指定配置文件的位置

比如说要配置运行环境的 ip 地址和端口号,我这里没有额外的 ip,所以只改变端口号。在 application.properties 中设置

server.ip=127.0.0.1
server.port=8081
...

一样在 Controller 控制类中写一个获取当前运行环境的 IP 地址和端口号的方法,运行后在浏览器可查看(注意端口是 8081)

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class hello {
  @Value("${server.ip}")
  public String serverIp;
  @Value("${server.port}")
  public String serverPort;
  
  @RequestMapping(value = "/getip")
  public String getServerIp() {
    return serverIp+":"+serverPort;
  }
}

从上面代码可知,可以通过 @Value("${xxx}") 这个注解获取配置文件中的值

还有一种把配置赋值给一个 javabean 的写法,现在还不懂 javabean 是啥,以后再看吧~~~

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文