SpringBoot基础包不扫描

时间:2017-10-08 23:08:38

标签: java spring-boot

以下是我的项目结构。

project structure

我的主要类是DemoApplication.java,它有“扫描基础包”。

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

这一点工作正常,直到我用Mongo存储库替换我的JPA存储库。

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注释,因为它要求我创建一个mongo-template。

解决此问题的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

  

我不想使用@EnableMongoRepositories注释,因为它要求我创建一个mongo-template。

您需要该注释,但如果您在application.properties(或等效项)中定义Mongo连接设置,Spring将为您创建模板。

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