您好,登錄后才能下訂單哦!
小編給大家分享一下SpringBoot加載子模塊配置文件的案例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
這兩天開始學(xué)習(xí)SpringBoot框架,按照官方的文檔,很輕易地就把單模塊的項目啟動了,但在使用maven搭建多模塊的時候遇到了子模塊配置文件沒有加載的問題
項目架構(gòu)是這樣的
zero |-ws |-service |-dao |-entity
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>
<dependencies> <dependency> <groupId>cn.xmcui.zero</groupId> <artifactId>service</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <configuration> <!--指定該class為全局唯一入口--> <mainClass>cn.xmcui.zero.Application</mainClass> <fork>true</fork> <layout>ZIP</layout> </configuration> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin> </plugins> </build>
ws的application.yml
server: port: 80 servlet: session: timeout: 60 tomcat: uri-encoding: utf-8
<dependencies> <dependency> <groupId>cn.xmcui.zero</groupId> <artifactId>entity</artifactId> <version>1.0-SNAPSHOT</version> </dependency> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>1.3.2</version> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.47</version> </dependency> </dependencies>
application.yml
spring: datasource: url: jdbc:mysql://localhost:3306/zero?useUnicode=true&characterEncoding=utf-8&useSSL=false username: root password: root driver-class-name: com.mysql.jdbc.Driver mybatis: mapper-locations: classpath:mapper/*.xml type-aliases-package: cn.xmcui.zero.entity
@SpringBootApplication(scanBasePackages = "cn.xmcui.zero") @MapperScan(basePackages = "cn.xmcui.zero.mapper") public class Application { public static void main(String[] args) { SpringApplication.run(Application.class, args); } }
然后是喜聞樂見的報錯
*************************** APPLICATION FAILED TO START *************************** Description: Failed to configure a DataSource: 'url' attribute is not specified and no embedded datasource could be configured. Reason: Failed to determine a suitable driver class Action: Consider the following: If you want an embedded database (H2, HSQL or Derby), please put it on the classpath. If you have database settings to be loaded from a particular profile you may need to activate it (no profiles are currently active).
沒有找到數(shù)據(jù)庫的配置文件
找錯的過程很痛苦,找了很多資料,走了很多彎路,最后將dao層的application.yml全部剪切到ws的application.yml中,項目點亮,成功運行.這就明確到dao層的配置文件沒有被加載.
然后找到了加載配置文件的方法:
我將ws層application.yml重命名為application-dev.yml;將dao層配置文件重命名為application-dao.yml(讓配置文件不重名,需要注意,配置文件重命名后必須以application-做前綴);
在ws層再新建一個application.yml
spring: profiles: active: dao,dev
這條配置是指定加載哪些配置文件
操作完成,系統(tǒng)成功點亮
本來是很簡單的問題,卻浪費了我很長的時間,還有一件事情必須要吐槽一下,現(xiàn)在SpringBoot相關(guān)的博客質(zhì)量真是良莠不齊,相當(dāng)數(shù)量的人還是把它當(dāng)SpringMvc用;使用它,卻不用它的新特性,真的是毫無意義啊.
以上是SpringBoot加載子模塊配置文件的案例分析的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。