JavaSpringMongoDB存储库接口
所以我有一个AppUser类:JavaSpringMongoDB存储库接口,java,spring,mongodb,hibernate,spring-data-jpa,Java,Spring,Mongodb,Hibernate,Spring Data Jpa,所以我有一个AppUser类: @数据 @建筑商 @文档(collection=“app\u用户”) @组成部分 @AllArgsConstructor @诺尔格构装师 @导入(AppConfig.class) 公共类AppUser{ @身份证 @NotBlank(message=ErrorConstants.ANDROID\u USER\u ACCOUNT\u MANAGER\u ID\u为空) 私有字符串androidUserAccountManagerId; @NotBlank(messa
@数据
@建筑商
@文档(collection=“app\u用户”)
@组成部分
@AllArgsConstructor
@诺尔格构装师
@导入(AppConfig.class)
公共类AppUser{
@身份证
@NotBlank(message=ErrorConstants.ANDROID\u USER\u ACCOUNT\u MANAGER\u ID\u为空)
私有字符串androidUserAccountManagerId;
@NotBlank(message=ErrorConstants.NULL\u NAME)
私有字符串名称;
私人朋友最好的朋友;
@Setter(AccessLevel.NONE)
私人友人名单;
私有布尔覆盖;
公共可选getFriend(字符串friendName){
返回friendList.getFriend(friendName);
}
public void calculateBestFriend(){
如果(!手动超越){
bestFriend=friendList.calculateAndReturnBestFriend();
}
}
}
我创建了一个AppUserRepository
接口,扩展了MongoRepository
:
@存储库
公共接口AppUserRepository扩展了MongoRepository{}
我有一个与界面交互的WebController
类。此类中的AppUserRepository
字段是@Autowired
。这一切似乎都是可行的,但我有一些关于如何以及如何继续编写集成测试的问题:
AppUserRepository
?我可以在特定端口上运行它吗Autowired
起作用了,因为我没有在AppConfig
中创建这个AppUserRepository
Bean,就像我的应用程序中有其他Autowired
的Bean一样MongoRepository
类方法,我不确定这些方法是否正确AppUserRepository
编写集成测试?我需要一个AppUserRepository
,以便我的请求与之交互,但我不希望在服务启动并运行时,这个数据库与实时应用程序数据库相同。我能否@Autowire
将数据库导入集成测试类,然后在集成测试运行后关闭数据库?如果这就是我前进的方向,我想我需要做上面的第3点谢谢 这实际上是一个很重要的故事。这个主题叫做SpringDataJPA,Hibernate。你可能想做一个研究,看一些教程等等 简单地说,MongoRepository只是提供了许多可以使用的方法。您还可以定义自己的方法、添加查询等 你的出发点: 当然,您可以通过
application.properties
文件设置端口号(以及一些其他属性)。这是最常见的属性列表,您可以在其中找到mongodb的属性:
现在谈谈比恩。实际上,您基本上创建了一个带有@Repository
注释的存储库。所以Spring上下文在应用程序开始时加载它。你可以自动连线