Heim > Java > Java-Tutorial > Hauptteil

SpringBoot加载子模块配置文件的详细介绍(代码示例)

不言
Freigeben: 2019-02-16 13:47:48
nach vorne
4848 人浏览过

本篇文章给大家带来的内容是关于SpringBoot加载子模块配置文件的详细介绍(代码示例),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

这两天开始学习SpringBoot框架,按照官方的文档,很轻易地就把单模块的项目启动了,但在使用maven搭建多模块的时候遇到了子模块配置文件没有加载的问题

项目架构是这样的

    zero
        |-ws
            |-service
                |-dao
                    |-entity
Nach dem Login kopieren

zero的依赖


    
      org.springframework.boot
      spring-boot-starter-web
    
  
Nach dem Login kopieren

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
            
          
        
      
    
  
Nach dem Login kopieren

ws的application.yml

server:
  port: 80
  servlet:
    session:
      timeout: 60
  tomcat:
    uri-encoding: utf-8
Nach dem Login kopieren

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
    
  
Nach dem Login kopieren

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
Nach dem Login kopieren

给启动器类加注解

@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);
    }
}
Nach dem Login kopieren

运行

然后是喜闻乐见的报错

***************************
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).
Nach dem Login kopieren

没有找到数据库的配置文件

找错的过程很痛苦,找了很多资料,走了很多弯路,最后将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
Nach dem Login kopieren

这条配置是指定加载哪些配置文件

操作完成,系统成功点亮

本来是很简单的问题,却浪费了我很长的时间,还有一件事情必须要吐槽一下,现在SpringBoot相关的博客质量真是良莠不齐,相当数量的人还是把它当SpringMvc用;使用它,却不用它的新特性,真的是毫无意义啊.

以上是SpringBoot加载子模块配置文件的详细介绍(代码示例)的详细内容。更多信息请关注PHP中文网其他相关文章!

Verwandte Etiketten:
Quelle:cnblogs.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Aktuelle Ausgaben
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!