当前位置 : 主页 > 编程语言 > java >

SpringBoot启动jar包时设置临时属性

来源:互联网 收集:自由互联 发布时间:2023-03-22
什么是临时属性 临时属性是指在运行Spring Boot应用程序时,临时指定的一些属性值。临时属性值只对该次运行有效,在下次启动应用程序时将被重置。这种方式可以极大地方便我们测试

什么是临时属性

临时属性是指在运行Spring Boot应用程序时,临时指定的一些属性值。临时属性值只对该次运行有效,在下次启动应用程序时将被重置。这种方式可以极大地方便我们测试不同的应用场景和配置,而不需要修改配置文件。

如何使用临时属性

Spring Boot提供了一种在启动时指定临时属性的方式,即使用命令行参数的方式。我们可以在使用java命令启动Jar包时添加--符号和属性名称来设置临时属性。例如,我们可以通过以下命令设置服务器端口号:

java -jar myapp.jar --server.port=8080

如果需要覆盖多个参数,可以使空格,它们分开,如下所示:

java -jar your-application.jar --server.port=8080 --spring.datasource.url=jdbc:mysql://localhost:3306/mydatabase --spring.datasource.username=admin --spring.datasource.password=passw0rd

临属性的优先级

Spring Boot支持多种属性配置的方式,在指定属性时,需要注意它们的优先级。以下是各种属性配置的优先级顺序:

  • 命令行参数(Command Line Arguments):命令行参数具有最高优先级,可以用于覆盖任何其他属性的值。例如:--server.port=8000
  • JNDI属性(JNDI properties):以在JNDI(Java Naming and Directory Interface)环境中单独配置的属性用于覆盖其他一些属性。
  • Java系统属性(System properties):可以在JVM启动过程中通过-D选项单独指定的Java系统属性,例如: -Dspring.profiles.active=prod。由于其在应用程序启动之前就已加载,因此这些属性可以用于配置Spring的配置体系结构和其他一些早期初始化。
  • 操作系统环境变量(OS environment variables):可以在操作系统级别配置的环境变量,例如: export spring_datasource_url=jdbc:mysql://localhost/mydatabase。
  • application-{profile}.yml(application-{profile}.properties):Spring Boot会在classspath下搜索任何profile相关的配置文件,文件格式支持.properties和.yml两种,且不管使用哪种格式,都可以通过spring.profiles.active=xxx来指定当前应用程序的profile。例如: application-dev.yml。
  • application.yml(application.properties):该文件是对所有profile的应用。粒度更大的属性配置, 例如:spring.application.name=boot-demo。
  • 总结

    Spring Boot的临时属性提供了一种方便快捷的方式,在运行时修改应用程序的运行配置。在实际使用中,我们可以灵活地根据不同场景使用临时属性来测试和验证应用程序。需要注意的是,属性配置的优先级是非常重要的,使用时需要认真考虑它们的覆盖关系。

    上一篇:跟老杜手撕Spring6教程(九)构造注入
    下一篇:没有了
    网友评论