2017-10-08 14 views
0

以下は私のプロジェクト構造です。SpringBoot基本パッケージがスキャンされていません

project structure

私の主なクラスが持っているDemoApplication.javaである "スキャンベースパッケージを。"

@SpringBootApplication(scanBasePackages={"com.demo.ex"}) 
public class DemoApplication{ 
    public static void main(String[] args) { 
    SpringApplication.run(DemoApplication.class, args); 
    } 
} 

JPAリポジトリをMongoリポジトリに置き換えるまでこれは正常に機能していました。

My BookRepositoryは次のようになります。

@Repository 
public interface BookRepository extends MongoRepository<Book, String>{ 
    public Book findOneById(String id); 
} 

My BookServiceImplは以下のようになります。

@Service("bookService") 
    public class BookServiceImpl implements BookService{ 
    @Autowired 
    BookRepository bookRepository; 
....... 
} 

ここで、アプリケーションの起動に失敗し、以下のように表示されます。

*************************** 
APPLICATION FAILED TO START 
*************************** 
Description: 
Field bookRepository in com.demo.ex.service.BookServiceImpl required a bean of 
type 'com.demo.ex.repository.BookRepository' that could not be found. 
Action: 
Consider defining a bean of type 'com.demo.ex.repository.BookRepository' in 
your configuration. 

私はそれがモンゴ・テンプレートを作成するために私に尋ねるよう@EnableMongoRepositoriesアノテーションを使用する必要はありません。

この問題を解決するにはどうすればよいでしょうか?

答えて

0

@EnableMongoRepositories注釈は、mongo-templateの作成を要求するので、使用したくありません。

あなたはapplication.properties(または同等のもの)にMongo接続設定を定義すると、あなたのためにテンプレートが作成されます。

https://docs.spring.io/spring-boot/docs/current/reference/html/common-application-properties.html

のMongoDB(MongoProperties)を参照してください。

さらに詳しい情報:

https://docs.spring.io/spring-boot/docs/current/reference/html/boot-features-nosql.html#boot-features-connecting-to-mongodb

関連する問題