この記事では、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>
<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>
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>
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 のアプリケーションに追加すると、プロジェクトが点灯し、正常に実行されます。これは、dao レイヤーの設定ファイルがロードされていないことを意味します。設定ファイルをロードする方法を見つけました:
レイヤー アプリケーションの名前を .yml から application-dev.yml に変更します。dao レイヤーの設定ファイルの名前を application-dao.yml に変更します (設定ファイルが同じ名前を持っています。名前変更後、構成ファイルの先頭に application- を付ける必要があることに注意してください);
ws レイヤーに新しい application.yml を作成します
spring: profiles: active: dao,dev
この構成では、どの構成ファイルを指定しますかロードするための
操作が完了し、システムが正常に点灯します。
元々は非常に単純な質問でしたが、時間がかかりました。もう 1 つ文句を言わなければなりません。 SpringBoot 関連のブログの品質は現在でもかなりまちまちです。SpringMvc を使用している人はまだいますが、新しい機能はまったく意味がありません。
以上がSpringBoot ローディングサブモジュール設定ファイルの詳細な紹介 (コード例)の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。