一、概述
Properties 文件是我们可以用来存储项目特定信息的常用方法。理想情况下,我们应该将其保留在 jar 包之外,以便能够根据需要对配置进行更改。
二、使用默认位置
按照惯例,Spring Boot 按以下优先顺序在四个预定位置查找外部化配置文件 — application.properties 或 application.yml :
- 当前目录的 /config 子目录
- 当前目录
- 一个类路径 /config 包
- 类路径根
因此, 在 application.properties 中定义并放置在当前目录的 /config 子目录中的属性将被加载。 这也会在发生冲突时覆盖其他位置的属性。
三、使用命令行
如果上述约定对我们不起作用,我们可以 直接在命令行中配置位置:
java -jar app.jar --spring.config.location=file:///Users/home/config/jdbc.properties
我们还可以传递应用程序搜索文件的文件夹位置:
java -jar app.jar --spring.config.name=application,jdbc --spring.config.location=file:///Users/home/config
在那里,我们可以使用 -D 参数:
mvn spring-boot:run -Dspring.config.location="file:///Users/home/jdbc.properties"
四、使用环境变量
现在假设我们不能更改启动命令。
很棒的是 Spring Boot 还会读取环境变量 SPRING_CONFIG_NAME 和 SPRING_CONFIG_LOCATION:
export SPRING_CONFIG_NAME=application,jdbc
export SPRING_CONFIG_LOCATION=file:///Users/home/config
java -jar app.jar
请注意,仍将加载默认文件。但是 环境特定的属性文件优先以防发生属性冲突。
如我们所见,我们必须在应用程序启动之前定义 spring.config.name 和 spring.config.location 属性,因此在 application.properties 文件(或 YAML 对应文件)中使用它们将没有影响。
Spring Boot 在 2.4.0 版本中修改了属性的处理方式。
与此更改一起,团队引入了一个新属性,允许直接从应用程序属性导入其他配置文件:
spring.config.import=file:./additional.properties,optional:file:/Users/home/config/jdbc.properties
如果我们想要编程访问,我们可以注册一个 PropertySourcesPlaceholderConfigurer bean:
public PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() {
PropertySourcesPlaceholderConfigurer properties =
new PropertySourcesPlaceholderConfigurer();
properties.setLocation(new FileSystemResource("/Users/home/conf.properties"));
properties.setIgnoreResourceNotFound(false);
return properties;
}
在这里,我们使用 PropertySourcesPlaceholderConfigurer 从自定义位置加载属性。
七、从 Fat Jar 中排除文件
Maven Boot 插件会自动将 src/main/resources 目录下的所有文件包含到 jar 包中。
如果我们不想让某个文件成为 jar 的一部分,我们可以使用一个简单的配置来排除它:
src/main/resources
true
**/conf.properties
在这个例子中,我们过滤掉了 conf.properties 文件,使其不包含在生成的 jar 中。
八、小结
通常,我们只需要将属性值放在正确的文件和位置。但我们也可以使用 Spring 的 Java API 进行更多控制。
Original: https://www.cnblogs.com/hunterzhang/p/16789495.html
Author: hunterzhang
Title: Spring Boot 配置 jar 包外面的 Properties 配置文件
相关阅读
Title: windows10安装使用conda
windows10安装conda
1.Anaconda 基本介绍
[1] Anaconda是一个用于科学计算的Python发行版,支持 Linux、 Mac、Windows系统,提供了包管理与环境管理的功能,可以很方便地解决多版本python并存、切换以及各种第三方包安装问题。
[2] Anaconda是一个打包的集合,里面预装好了conda、某个版本的python、众多packages、科学计算工具等,其中conda是用来进行包管理与环境管理的工具/命令。
[3] Miniconda版本,只包含最基本的内容python与conda,以及相关的必须依赖项,占用的空间相对较小。
2.下载conda
选择自己合适的版本下载(建议最新版)
https://mirrors.tuna.tsinghua.edu.cn/anaconda/miniconda/

; 3.安装conda
- 安装过程如果没有选择添加环境变量,那么需要手动添加一下环境变量
- 安装之后在cmd命令行查看conda命令是否可以正常使用
4.配置conda
- 添加国内源
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/
5.常用命令
- 查看所有的环境:
conda env list
- 创建新环境,指定环境名:env_name Python版本:env_py:
conda create -n env_name python=env_py
- 进入环境 :
conda activate env_name
- 退出当前环境:
conda deactivate
- 删除当前环境:
conda remove -n env_name --all
6.补充
- win10 anaconda无法使用activate激活环境
首先在终端输入conda –version查看自己的anaconda版本。
Conda版本大于等于4.6
解决方法如下:
用Win + X 组合键调出PowerShell管理员模式
;
输入命令conda init powershell
;
关闭当前powershell窗口,重新打开一个powershell窗口输入conda activate 环境名
测试。
Original: https://blog.csdn.net/weixin_44065078/article/details/121098995
Author: 橙子icon
Title: windows10安装使用conda
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/363571/
转载文章受原作者版权保护。转载请注明原作者出处!