• 定义一个 object 放一些常量名,相当于各种属性的key值
object MktEnvironmentContants {// 系统环境变量val KEY_UAP_ZK_SERVER = "uap.zk.server"val KEY_UAP_SERVICE_CONSOLE_PORT = "uap.service.console.port"val KEY_UAP_SERVICE_ANALYZE_PORT = "uap.service.analyze.port"val KEY_UAP_SERVICE_PREDICT_PORT = "uap.service.predict.port"}
  • 通过启动命令传递参数并通过 System.getProperty 获取
-Dspring.profiles.active=dev
  • 根据启动命令的类型加载不同的配置文件,并将加载到的内存放入系统配置里面。整个过程中都是java内置的代码
object PropertiesUtil extends RichLogging {/*** 加载properties文件,以classpath为根目录** @param fileName 文件名* @return*/def loadProperties(fileName: String): Properties = {val inputStream: InputStream = Thread.currentThread().getContextClassLoader.getResourceAsStream(fileName)val properties = new Properties()properties.load(inputStream)properties}/*** 加载属性到系统属性** @param fileName 文件名*/def loadProperteisToSystem(fileName: String): Unit = {val envProperties = PropertiesUtil.loadProperties(fileName)val envNames = envProperties.propertyNames()while (envNames.hasMoreElements) {val key = envNames.nextElement.asInstanceOf[String]System.getProperties.setProperty(key, envProperties.getProperty(key))}}/*** 显示系统属性*/def showSystemProperties(): Unit = {val properties = System.getPropertiesval ele = properties.propertyNameswhile (ele.hasMoreElements) {val key = ele.nextElement.asInstanceOf[String]logger.info(s"System Properties, key: $key, value: ${properties.getProperty(key)}")}}
}
  • 使用常量定义的key值去系统中取配置
 System.getProperty(MktEnvironmentContants.KEY_UAP_PROFILE_ACTIVE)

scala项目的全局配置实践相关推荐

  1. 全局配置axios、axios 拦截器 和 proxy 跨域代理

    目录 一.全局配置axios 1. 为什么要全局配置 axios 2. 如何全局配置 axios 3. 在 vue3 的项目中全局配置axios ​ 4. 在 vue2 的项目中全局配置 axios ...

  2. sbt编程语言scala的构建工具配置及项目构建(附带网盘下载)

    SBT简介 SBT 是 Scala 的构建工具,全称是 Simple Build Tool, 类似 Maven 或 Gradle. Java可以用Maven快速构建项目,scala用SBT快速构建一个 ...

  3. 干货:在Flutter项目下安卓flavor打包配置实践

    ????????关注后回复 "进群" ,拉你进程序员交流群???????? 作者丨狐友技术团队 来源丨搜狐技术产品(ID:sohu-tech) 本文字数:3894 字 预计阅读时间 ...

  4. 干货: 在 Flutter 项目下安卓 flavor 打包配置实践 | 开发者说·DTalk

    本文原作者: 狐友技术团队,原文发布于搜狐技术产品:  https://mp.weixin.qq.com/s/uOMxhc8xnFPmi7j_Z5JqVg 1.前言 Flutter 是 Google ...

  5. 魔方APP项目-02-服务端项目搭建,创建manage.py文件、构建全局初始化函数创建app应用对象、通过终端脚本启动项目、项目加载配置、数据库初始化、日志初始化、蓝图初始化

    服务端项目搭建 新建项目目录mofangapi,并创建虚拟环境 mkvirtualenv mofang 安装开发中使用的依赖模块 pip install flask==0.12.4 pip insta ...

  6. 局部配置和全局配置_06. 教你零基础搭建小程序(解读全局配置文件-tabBar字段)...

    自从开始在知乎上发教程后,发现一个事情啊, 大家对于我写的教程,都在偷偷地收藏~~ 但是, 却没有银点赞~ 知乎这个平台吧,点赞的分量比收藏更大, 这里也不是要赞(我知道自己还能做的更好), 只是希望 ...

  7. 安装SBT环境运行Scala项目

    介绍2种spark安装方式 通过docker的方式安装 下载docker文件 https://gitee.com/pingfanrenbiji/docker-spark docker-compose ...

  8. sbt介绍与构建Scala项目

    一.sbt简介 sbt是类似ANT.MAVEN的构建工具,全称为Simple build tool,是Scala事实上的标准构建工具. 主要特性: 原生支持编译Scala代码和与诸多Scala测试框架 ...

  9. 项目版本管理的最佳实践:gitflow基础篇

    对于项目版本管理,你是否存在这样的痛点:项目分支多而杂不好管理,git log界面commit信息错乱复杂无规范,版本回退不知道选择什么版本合适--. 项目版本管理的最佳实践系列,笔者将以两篇文章的形 ...

最新文章

  1. 用算法代替生物大脑,90后博士造出活的微型机器人登上Science子刊
  2. java ancestor_java – 家谱祖先查找算法
  3. 单列表_使用Excel中的quot;记录单quot;功能快速录入数据
  4. java编译机制_java的编译机制
  5. 如何用手机打开dcm格式图片_如何防止自己的图片被盗用?这 4 招教你优雅加水印...
  6. mysql large_【转】mysql对large page的支持
  7. Windows 10 上强制Visual Studio以管理员身份运行
  8. 安装mysql 错误重新安装
  9. Tensorflow+Keras+VGG19 猫狗大战分类
  10. 虎年全新姓氏头像制作多模板微信小程序2022新版头像制作源码支持多种流量主模式亲测
  11. element plus 部分组件转英文问题
  12. python封包和解包_python解析网络封包方法
  13. 携手“国乒梦之队”,臻迪科技助力奥运新思路
  14. 是否开启谷歌Ad广告中的搜索网络合作伙伴?
  15. Hikari数据库连接池泄露问题排查
  16. 关于mysql的题目_关于MySQL的经典例题50道 答案参考
  17. python算24点穷举法_24点游戏7节课–第1节-游戏介绍与基本算法 | 学步园
  18. epub格式电子书剖析之三:NC…
  19. Rocksdb prefix Bloomfilter
  20. H.265的各种帧(详解):接入图像

热门文章

  1. 有关java开发的单词_Java开发常用英语单词表
  2. 数据基础设施,证券行业跑赢时代的新引擎
  3. nacos的命名空间
  4. VUE解决warning(Emitted value instead of an instance of Error) el-table-column v-for=item in batch问题
  5. 理科生学计算机数字媒体方向,文科生,理科生,分别可以报哪些专业?5分钟了解文理报考大方向...
  6. CTF中字符长度限制下的命令执行 rce(7字符5字符4字符)汇总
  7. 高级shell编程笔记(第十二章 外部过滤器,程序和命令)
  8. python操作word详细操作_Python操作Word的入门教程
  9. 如何获取自己的公网地址
  10. igraph入门教程