2016-07-30 15 views
1

mysqlからデータを取得するのにspring-boot-starter-data-jpaを使用します。変更の場合、Beanエラーを作成するSpringデータjpaエンティティパッケージ

私のプロジェクト構造がある(Project.javaファイルは、アプリケーションパッケージである)すべてがうまく動作しますが、私は実体パッケージにProject.java実体ファイルを置くとき、私は怒鳴る例外だ:

org.springframeworkを。 beans.factory.BeanCreationException:名前が 'controller'のBeanを作成中にエラーが発生しました:自動従属依存の注入が失敗しました。ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです:フィールドをautowireできませんでした:private com.gehive.microservice.data.repositories.ProjectRepository com.gehive.microservice.application.Controller.repo;ネストされた例外はorg.springframework.beans.factory.BeanCreationExceptionです: 'projectRepository'という名前のBeanを作成中にエラーが発生しました:initメソッドの呼び出しに失敗しました。未管理のタイプ::例外のないクラスcom.gehive.microservice.data.entities.Project

作品:ネストされた例外は、java.lang.IllegalArgumentExceptionがある

enter image description here

場合は、この私のような構造例外ました:

enter image description here

答えて

3

を春ブーツ用のデフォルト@ComponntScan( inherits)は、現在のパッケージとそのすべてのサブパッケージをスキャンします。

最初のケースではProject.javaApplication.javaと同じパッケージになっていますので、問題ありません。

別のパッケージからプロジェクトを作成するには、名前をcom.gehive.microservice.application.entitiesに変更するか、メインクラスのサブパッケージを変更します。

通常、私はブートストラップクラスとすべてのコンフィギュレーションクラスを<com|org|etc>.<myCompany>.<myProject>という名前のパッケージに保存して、このパッケージのサブパッケージとして他のパッケージを作成します。

スプリングデータJPAには、パッケージに関連するいくつかの条件があります。 Docs

をご覧ください
関連する問題