获取系统参数System.getProperties()与配置文件参数@Value(“${key}“)

本文详细介绍了如何使用Java的System类获取系统参数,包括默认参数、命令行参数以及通过System.setProperty()设置的参数,并举例说明了命令行参数的使用。同时,文章指出System.getProperties()无法直接获取配置文件参数,而配置文件参数通常通过@Value注解来读取,文中给出了使用@Value注解获取配置参数的例子,并展示了如何为@Value赋予默认值。
摘要由CSDN通过智能技术生成

一、获取系统参数:

  1. Property是资产的意思:
    在这里插入图片描述

  2. 获取所有系统参数可以使用System.getProperties(),获取单个系统参数可以使用System.getProperty("param1");默认的系统参数如下:

参数名参数解释
Java.versionJava 运行时环境版本
java.vendorJava 运行时环境供应商
java.vendor.urlJava 供应商的 URL
java.homeJava 安装目录
java.vm.specification.versionJava 虚拟机规范版本
java.vm.specification.vendorJava 虚拟机规范供应商
java.vm.specification.nameJava 虚拟机规范名称
java.vm.versionJava 虚拟机实现版本
java.vm.vendorJava 虚拟机实现供应商
java.vm.nameJava 虚拟机实现名称
java.specification.versionJava 运行时环境规范版本
java.specification.vendorJava 运行时环境规范供应商
java.specification.nameJava 运行时环境规范名称
java.class.versionJava 类格式版本号
java.class.pathJava 类路径
java.library.path加载库时搜索的路径列表
java.io.tmpdir默认的临时文件路径
java.compiler要使用的 JIT 编译器的名称
java.ext.dirs一个或多个扩展目录的路径
os.name操作系统的名称
os.arch操作系统的架构
os.version操作系统的版本
file.separator文件分隔符(在 UNIX 系统中是“/”)
path.separator路径分隔符(在 UNIX 系统中是“:”)
line.separator行分隔符(在 UNIX 系统中是“/n”)
user.name用户的账户名称
user.home用户的主目录
user.dir用户的当前工作目录
  1. System.getProperties()能拿到系统默认参数、命令行参数、通过System.setProperty("key","value")设置的参数:
//通过`System.setProperty("key","value")`的参数
System.setProperty("swl666","666");
//命令行参数
-Dspring.cloud.nacos.config.namespace=technology-platform-test
-Dspring.cloud.nacos.config.group=test
-Dspring.cloud.nacos.config.name=ipd-plan.yaml
-Dspring.cloud.nacos.discovery.group=swl
-Dspring.profiles.active=test
-Dswl=swlD

二、获取配置文件参数:
1.System.getProperties()无法获取配置文件上的参数,配置文件上的参数可通过@Value("${key}")获取:
在这里插入图片描述

    @Value("${andawell.encryption.key}")
    private String encryptionKey;

2.@Value("${key}")赋默认值: @Value(“${key:666}”)
3.nacos参数如果变动,如果要实时刷新,则需要在类上添加一个@RefreshScope

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值