以下是我的项目结构。
我的主要类是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。
解决此问题的最佳方法是什么?
答案 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)部分。
更多信息: