总结:SpringBoot启动参数配置

一、背景

由于项目中加了bootstrap.properties文件,且文件中有变量,如spring.cloud.config.profile=${spring.profiles.active},而bootstrap.properties读取的优先级高于application.properties,所以参数不能配置在application.properties中,以下记录几种配置方式

二、方式一:通过java程序启动命令行参数设置

这种一般线上会这么做,即打docker镜像或者虚拟机上运行的时候,如下所示:

设置-Dspring.profiles.active=pro:

docker:

CMD ["java","-server","-Dfastjson.parser.safeMode=true","-XX:+UseG1GC","-XX:InitialRAMPercentage=40.0","-XX:MinRAMPercentage=20.0","-XX:MaxRAMPercentage=75.0","-XX:MaxHeapFreeRatio=40","-XX:+DisableExplicitGC","-Dspring.profiles.active=pro","-jar","hubbleservicename-hubbleserviceversion-SNAPSHOT.jar","-Dfile.encoding=utf-8"]

三、方式二:IDEA启动配置

 

Spring Boot 可以使用以下方式配置启动参数: 1. application.properties/yml 文件 在 application.properties 或 application.yml 文件中,我们可以通过键值对的方式配置启动参数,例如: ``` server.port=8080 spring.datasource.url=jdbc:mysql://localhost:3306/test spring.datasource.username=root spring.datasource.password=123456 ``` 2. 命令行参数 我们也可以在命令行中使用 -- 参数配置启动参数,例如: ``` java -jar myapp.jar --server.port=8080 --spring.datasource.url=jdbc:mysql://localhost:3306/test --spring.datasource.username=root --spring.datasource.password=123456 ``` 3. 环境变量 我们可以使用环境变量来配置启动参数,例如: ``` export SERVER_PORT=8080 export SPRING_DATASOURCE_URL=jdbc:mysql://localhost:3306/test export SPRING_DATASOURCE_USERNAME=root export SPRING_DATASOURCE_PASSWORD=123456 java -jar myapp.jar ``` 4. 配置类 我们也可以使用配置类来配置启动参数,例如: ```java @Configuration public class AppConfig { @Value("${server.port}") private int port; @Bean public TomcatServletWebServerFactory tomcatFactory() { return new TomcatServletWebServerFactory() { @Override protected void postProcessContext(Context context) { SecurityConstraint securityConstraint = new SecurityConstraint(); securityConstraint.setUserConstraint("CONFIDENTIAL"); SecurityCollection collection = new SecurityCollection(); collection.addPattern("/*"); securityConstraint.addCollection(collection); context.addConstraint(securityConstraint); } }; } @Bean public EmbeddedServletContainerCustomizer containerCustomizer() { return container -> { TomcatEmbeddedServletContainerFactory tomcat = (TomcatEmbeddedServletContainerFactory) container; tomcat.addConnectorCustomizers(connector -> { connector.setPort(port); }); }; } } ``` 以上是 Spring Boot配置启动参数的几种方式。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值