【SpringBoot】application(.propert

2020-06-29  本文已影响0人  eliteTyc

前言:项目分模块,新建主工程,主工程pom.xml自定义属性,并配置一些jar包的版本信息,在主工程下新建子模块,子模块为真正的业务实现,子模块pom.xml继承自主工程,添加依赖时可以不用写版本号,现在要解决的问题是子模块中的application.properties或application.yml(yaml)配置文件来读取主工程的pom.xml文件中的自定义属性

1.主工程自定义属性:主工程为springcloud-main

<properties>
<!--   设置<![CDATA[]]防止链接转义错误-->
      <mysql.url><![CDATA[jdbc:mysql://localhost:3306/test]]></mysql.url>
</properties>

2.新建子模块mysql-demo

image.png
  1. 查看子模块的pom.xml的parent标签是否为主工程(这里我更新idea后,在主工程下new Module但是不会继承主工程,所以我自己改一下)
<parent>
        <groupId>com.elitetyc</groupId>
        <artifactId>springcloud-main</artifactId>
        <version>0.0.1-SNAPSHOT</version>
  </parent>

2.检查主工程中是否添加了modules标签(还是因为更新idea后,虽然我是在主工程下新建的模块,但是没有像以前一样自动添加module到主工程,自己添加一下,否则子工程读取不到主pom的属性)

<modules>
        <module>mysql-demo</module>
</modules>

3.子模块配置文件获取主pom配置

<resources>
      <resource>
           <directory>src/main/resources/</directory>
           <filtering>true</filtering>
      </resource>
 </resources>
spring.datasource.url=${mysql.url}
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.username=root
spring.datasource.password=12345
spring:
  datasource:
    url: ${mysql.url}
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 12345
Exception in thread "main" while scanning for the next token
found character '@' that cannot start any token. (Do not use @ for indentation)
 in 'reader', line 4, column 11:
spring:
  datasource:
    url: '@mysql.url@'
    driver-class-name: com.mysql.cj.jdbc.Driver
    username: root
    password: 123456
上一篇下一篇

猜你喜欢

热点阅读