首頁 > Java > java教程 > 主體

SpringBoot載入子模組設定檔的詳細介紹(程式碼範例)

不言
發布: 2019-02-16 13:47:48
轉載
4847 人瀏覽過

本篇文章帶給大家的內容是關於SpringBoot載入子模組設定檔的詳細介紹(程式碼範例),有一定的參考價值,有需要的朋友可以參考一下,希望對你有幫助。

這兩天開始學習SpringBoot框架,按照官方的文檔,很輕易地就把單模組的專案啟動了,但在使用maven搭建多模組的時候遇到了子模組設定檔沒有載入的問題

專案架構是這樣的

    zero
        |-ws
            |-service
                |-dao
                    |-entity
登入後複製

zero的依賴


    
      org.springframework.boot
      spring-boot-starter-web
    
  
登入後複製

ws的依賴與設定


    
      cn.xmcui.zero
      service
      1.0-SNAPSHOT
    
    
      org.springframework.boot
      spring-boot-starter-web
    
  
  
    
      
        org.springframework.boot
        spring-boot-maven-plugin
        
          
          cn.xmcui.zero.Application
          true
          ZIP
        
        
          
            
              repackage
            
          
        
      
    
  
登入後複製

ws的application.yml

server:
  port: 80
  servlet:
    session:
      timeout: 60
  tomcat:
    uri-encoding: utf-8
登入後複製

dao的依賴與設定


    
      cn.xmcui.zero
      entity
      1.0-SNAPSHOT
    
    
      org.mybatis.spring.boot
      mybatis-spring-boot-starter
      1.3.2
    
    
      mysql
      mysql-connector-java
      5.1.47
    
  
登入後複製

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).
登入後複製

沒有找到資料庫的設定檔

找錯的過程很痛苦,找了很多資料,走了很多彎路,最後將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
登入後複製

這條設定是指定載入哪些設定檔

操作完成,系統成功點亮

本來是很簡單的問題,卻浪費了我很長的時間,還有一件事情必須要吐槽一下,現在SpringBoot相關的博客質量真是良莠不齊,相當數量的人還是把它當SpringMvc用;使用它,卻不用它的新特性,真的是毫無意義啊.

以上是SpringBoot載入子模組設定檔的詳細介紹(程式碼範例)的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:cnblogs.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
最新問題
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!