目录
    • 以下几种方式都可以被@value读取到
      • 1、java -jar -dserver.port=8888 -xms1024m demo.jar

修改application.properties的参数

1、方法一:直接在cmd中执行

  • java -jar xxx.jar –server.port:8082

如果要修改多个参数,空格后继续写就可以了。再例如:

  • java -jar xxx.jar –server.port:8082 –test.name=xxx

2、方法二:配置

3、方法三

4、方法四

springboot 有读取外部配置文件的方法,如下优先级:

  • 第一种是在jar包的同一目录下建一个config文件夹,然后把配置文件放到这个文件夹下。
  • 第二种是直接把配置文件放到jar包的同级目录。
  • 第三种在classpath下建一个config文件夹,然后把配置文件放进去。
  • 第四种是在classpath下直接放配置文件。

我们通常在src/main/resources 文件夹下创建的application.properties 文件的优先级是最低的!

  • 1)内外都有配置文件,配置文件读取是有优先级,外配置文件优于内配置文件读取。
  • 2)如果内配置文件里有外配置文件没有的配置,那两者互补。比如外配置文件没有配置数据库,内配置文件里配置了数据库,那内配置文件的配置会被使用。
  • 3)如果内配置文件里和外配置文件里都有相同的配置,比如两者都配置了数据库,但是两个连接的不同,那外配置文件会覆盖内配置文件里的配置。

springboot项目启动参数

本文介绍springboot项目启动时增加启动参数的多种方式,我们都知道spring在注入属性时可以通过@value注解注入属性,那么@value可以读取的范围有哪些呢?这就是本文的主要内容。

以下几种方式都可以被@value读取到

1、java -jar -dserver.port=8888 -xms1024m demo.jar

这种方式增加的参数是被设置到应用的系统属性中,可以使用system.getproperty(“server.port”)获取(可以在idea的idea vm options中配置,以空格分隔)

-d(defintion)表示自定义参数

2、java -jar demo.jar –server.port=8888

这种方式增加的参数是属于命令行参数,即会从springboot启动时的main方法的string[] args中作为参数传入(可以在idea的program arguments中配置,以空格分隔)

3、从操作系统的环境变量中读取

这种方式的参数即属于操作系统方面的,比如安装jdk时设置的环境变量,定义java_home,也可以通过system.getenv(“java_home”)获取,(可以在idea的vm environment variables中配置,以;分隔)

4、通过项目中配置文件bootstrap/application文件载入

这种方式是在项目中配置的方式,比较常见

以上就是常见的多种方式介绍,希望能给大家一个参考,也希望大家多多支持www.887551.com。