ホームページ  >  記事  >  Java  >  SpringBoot ローディングサブモジュール設定ファイルの詳細な紹介 (コード例)

SpringBoot ローディングサブモジュール設定ファイルの詳細な紹介 (コード例)

不言
不言転載
2019-02-16 13:47:484905ブラウズ

この記事では、SpringBoot によるサブモジュール構成ファイルの詳細な紹介 (コード例) を紹介します。必要な方は参考にしていただければ幸いです。

私は過去 2 日間で SpringBoot フレームワークを学習し始めました。公式ドキュメントによると、単一モジュールのプロジェクトを簡単に開始できましたが、Maven を使用して複数のモジュールをビルドするときに、次の問題が発生しました。サブモジュール設定ファイルが読み込まれませんでした。

    zero
        |-ws
            |-service
                |-dao
                    |-entity

zero の依存関係

<dependencies>
    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
  </dependencies>

ws の依存関係と設定

<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

dao の依存関係と構成

<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);
    }
}

Run

次に、 welcome error

***************************
APPLICATION FAILED TO START
***************************

Description:

Failed to configure a DataSource: &#39;url&#39; 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 のアプリケーションに追加すると、プロジェクトが点灯し、正常に実行されます。これは、dao レイヤーの設定ファイルがロードされていないことを意味します。設定ファイルをロードする方法を見つけました:

レイヤー アプリケーションの名前を .yml から application-dev.yml に変更します。dao レイヤーの設定ファイルの名前を application-dao.yml に変更します (設定ファイルが同じ名前を持っています。名前変更後、構成ファイルの先頭に application- を付ける必要があることに注意してください);

ws レイヤーに新しい application.yml を作成します

spring:
  profiles:
    active: dao,dev

この構成では、どの構成ファイルを指定しますかロードするための

操作が完了し、システムが正常に点灯します。

元々は非常に単純な質問でしたが、時間がかかりました。もう 1 つ文句を言わなければなりません。 SpringBoot 関連のブログの品質は現在でもかなりまちまちです。SpringMvc を使用している人はまだいますが、新しい機能はまったく意味がありません。

以上がSpringBoot ローディングサブモジュール設定ファイルの詳細な紹介 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcnblogs.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。