# 配置文件加载属性
# 操作
创建父子工程
在子工程中 main 下创建 resources 目录并创建 jdbc 配置文件
- 在父工程 pom.xml 中配置自定义属性与子工程的 properties 文件的引用相对应
<properties> | |
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |
<url>jdbc:mysql://127.0.0.1:3306/ssm_db?characterEncoding=utf-8&serverTimezone=UTC</url> | |
</properties> |
- 在父工程 pom 中定义指定文件使用此 pom 中定义的属性标签
<modules> | |
<module>maven-spring-zi</module> | |
<module>maven-spring-zi01</module> | |
</modules> | |
<build> | |
<resources> | |
<resource> | |
<!-- 配置指定哪个配置文件使用此 pom 中定义的属性 --> | |
<directory>../maven-spring-zi/src/main/resources</directory> | |
<!-- 开启过滤表示上面是资源文件 --> | |
<filtering>true</filtering> | |
</resource> | |
</resources> | |
</build> |
指定文件路径前面../ 为从当前 pom 路径出来找到子工程中的 resources 目录并使用其中的资源配置文件
- 将其 Install
- 查看 jar 包中的 druid 配置文件是否引用到了 pom 中定义标签的属性值
更改父 pom 中的属性标签
<properties> | |
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> | |
<url>jdbc:mysql://127.1.1.1:3306/ssm_db?characterEncoding=utf-8&serverTimezone=UTC</url> | |
</properties> |
Install, 查看 jar 包中的 druid.properties
# 解决配置多个子工程配置文件问题
- ${project.basedir}: 当前项目所在目录,因为子项目继承了父项目所以子项目也会生效该语句
<build> | |
<resources> | |
<resource> | |
<!-- 配置指定哪个配置文件使用此 pom 中定义的属性 ${project.basedir} 当前项目所在的目录,因为子项目继承了父项目所以子项目也会生效这句语句 --> | |
<directory>${project.basedir}/src/main/resources</directory> | |
<!-- 开启过滤表示上面是资源文件 --> | |
<filtering>true</filtering> | |
</resource> | |
</resources> | |
</build> |
- 将父工程的自定义标签中主机地址改为 127.0.0.1 查看是否能改回来
- 查看 jar 包的 properties 文件
- 这样所有的子项目都能读取到配置文件了,没有局限性了
# 其它属性
属性分类 | 引用格式 | 示例 |
---|---|---|
自定义属性 | $ | $ |
内置属性 | $ | $ $ |
Setting 属性 | $ | $ |
Java 系统属性 | $ | $ |
环境变量属性 | $ | $ |