在我的项目中,我们使用的是 Spring 注入的 MongoTemplate
private final MongoTemplate mongoTemplate;
Run Code Online (Sandbox Code Playgroud)
我知道 mongo 模板实现了 MongoOperations、ApplicationContextAware,所以我们通过模板获得了上下文感知方法,如果我使用如下所示的 mongo 操作类型对象,我们就不会得到这种方法(spring 将在其中注入 mongo 模板对象)
private final MongoOperations mongoOperations;
Run Code Online (Sandbox Code Playgroud)
我的疑问是 1. 我们这样做是否违反了“编程接口”范式 2. 我们应该使用哪种模式,为什么?