当前位置: 首页 > news >正文

springboot设置并获取启动参数

springboot设置参数并获取参数的方式

下面以端口号为例
设置端口号的方式有三种:

1)通过java程序启动命令行参数设置或者是idea的Program arguments设置

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

idea配置

--spring.profiles.active=dev --server.port=8080

在这里插入图片描述

2)通过JVM自定义参数设置

java -jar -Dserver.port=8080 test.jar

idea配置

-Dserver.port=8080

在这里插入图片描述

3)通过配置文件设置

在yml文件或properties文件中配置

server:
  port: 8081

执行顺序

有上面三种方式进行设置端口号,那么如果三种都设置了端口号,最终会使用那个呢?
java程序启动命令行>JVM自定义参数>配置文件
端口号会按上面的顺序使用

获取参数

1)通过java程序启动命令参数
在启动类main方法中通过args获取

public static void main(String[] args) {
        System.out.println(Arrays.toString(args));
}

2)通过JVM自定义参数设置
这种方式增加的参数是被设置到应用的系统属性中可以通过下面代码获取

System.getProperty("server.port")

3)通过配置文件设置
配置文件获取的方式比较多,本人就写一个吧

    @Value("${server.port}")
    private String port;

4)获取系统环境变量中的参数
即是获取当前系统的环境变量,如果JAVA_HOME,获取方式如下所示

System.out.println(System.getenv("JAVA_HOME"));
 System.out.println(System.getenv("test"));

idea配置如下
在这里插入图片描述

相关文章:

  • PMP_考前冲刺题 二 (3A通过分享)(2022.7)(75题附答案及解析)
  • php毕业论文参考文献计算机毕业设计剧影评|剧评影评系统
  • 《深入理解JAVA虚拟机(第2版)》—— 学习笔记1
  • Idean中的Maven
  • leetcode 17. 电话号码的字母组合
  • 怎样平衡软件质量与时间成本范围的关系?
  • Odoo | 开源ERP,解锁审计和日志记录新玩法
  • c++STL 迭代器失效的三种情况总结
  • cordova 打包android app
  • 【稀里糊涂学Spring MVC】Filter
  • HK-WEKA如何为勒索软件保护和业务连续性提供支持?
  • springboot+mybaties-plus自动建表
  • 企业IP地址跟踪
  • C++ 小游戏 视频及资料集(3)
  • 十、ThreadPoolExecutor 手撕核心源码
  • IE9 : DOM Exception: INVALID_CHARACTER_ERR (5)
  • [数据结构]链表的实现在PHP中
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • 【跃迁之路】【519天】程序员高效学习方法论探索系列(实验阶段276-2018.07.09)...
  • JAVA SE 6 GC调优笔记
  • markdown编辑器简评
  • MQ框架的比较
  • node.js
  • Python学习之路13-记分
  • Terraform入门 - 3. 变更基础设施
  • vue-loader 源码解析系列之 selector
  • 第13期 DApp 榜单 :来,吃我这波安利
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 分类模型——Logistics Regression
  • 分享自己折腾多时的一套 vue 组件 --we-vue
  • 力扣(LeetCode)56
  • 面试总结JavaScript篇
  • 前端面试之闭包
  • 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
  • 首页查询功能的一次实现过程
  • 新书推荐|Windows黑客编程技术详解
  • 一道面试题引发的“血案”
  • ​VRRP 虚拟路由冗余协议(华为)
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • #LLM入门|Prompt#1.8_聊天机器人_Chatbot
  • $NOIp2018$劝退记
  • (done) ROC曲线 和 AUC值 分别是什么?
  • (LeetCode) T14. Longest Common Prefix
  • (zhuan) 一些RL的文献(及笔记)
  • (附源码)ssm高校社团管理系统 毕业设计 234162
  • (算法)求1到1亿间的质数或素数
  • (一)为什么要选择C++
  • .CSS-hover 的解释
  • .Net 6.0 处理跨域的方式
  • .net websocket 获取http登录的用户_如何解密浏览器的登录密码?获取浏览器内用户信息?...
  • .NET 设计一套高性能的弱事件机制
  • .w文件怎么转成html文件,使用pandoc进行Word与Markdown文件转化
  • @Controller和@RestController的区别?
  • @PreAuthorize注解
  • @ResponseBody