我刚开始使用Spring Boot,并喜欢用它编写应用程序的简单性。我想知道是否以及如何使用它来编写(非基于Web的)服务。
我有一个存储库界面:
post
如果我在Spring启动应用程序中使用@Autowired,我可以使用它在我的数据库上执行CRUD操作。
但是我现在想在没有所有网络服务器后端内容的简单应用程序/测试中使用它。
但是,如果我定义了以下测试,则存储库接口无法自动连接到:
addData(data) {
let _body = JSON.stringify(data);
let headers = new Headers({'Content-Type': 'application/json;charset=utf-8'});
let url = 'http://localhost:8080/obj/addData';
console.log("test");
return this._http.post(url, _body, { headers })
.map((res:Response) => {
console.log(res);
return res.json();
});
}
我找到了一些接近的解决方法,但是如果可能的话,我想在不同服务之间共享我的Repository接口,这些解决方法会阻止这些接口。
所以我的问题是:有没有办法将MongoRepository接口自动装入我的应用程序,其中生成所有数据库查询代码,但不是所有其他我不需要的东西,如webserver / servlet代码?
答案 0 :(得分:1)
当我使用JpaRepository时,请尝试使用它。没有自动装配它不可能。
@Configuration
public class TestMongoInterface
{
@Autowired
private OrderRepository orderRepository;
@Autowired
public void canReadOrders()
{
List<Order> orders = orderRepository.findAll();
for(Order o : orders)
System.out.println("found: "+o.toString());
}
}