当前位置: 首页 > 知识库问答 >
问题:

在Spring Boot应用程序中与MongoTemplate一起使用嵌入式MongoDb失败

寿浩言
2023-03-14

我有Spring Boot应用程序:

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication()
public class App {

    public static void main(String[] args) {
        SpringApplication.run(App.class, args);
    }

}

Build.Gradle包含:

@RestController
@RequestMapping(Constants.MAILBOX_BASE_PATH)
public class MController {

    private static final Logger log = LoggerFactory.getLogger(MailboxController.class);

    private MongoTemplate mongoTemplate;

    @Autowired
    public MController(MongoTemplate mongoTemplate) {
        this.mongoTemplate = mongoTemplate;
    }
}

测试

@RunWith(SpringRunner.class)
@SpringBootTest()
@AutoConfigureMockMvc
public class MontrollerTests { 

    @Autowired
    private MockMvc mvc;

    private MongoTemplate _mongoTemplate;
...
}

我的意图是使用嵌入式MongoDB进行上述测试。当我运行它时,会弹出以下错误:

2017-03-05 17:14:51.993错误27857--[main]O.S.Boot.SpringApplication:应用程序启动失败

我的应用程序属性:

server.port=8090
spring.data.mongodb.uri=mongodb://localhost:27017/test
spring.data.mongodb.port=27017

如何解决这个问题?提前道谢。

共有1个答案

经骁
2023-03-14

可以尝试使用EmbeddedMongoFactoryBean类为MongoTemplate创建一个@bean吗?例如:

@Bean
public MongoTemplate mongoTemplate() throws IOException {
    EmbeddedMongoFactoryBean mongo = new EmbeddedMongoFactoryBean();
    mongo.setBindIp("127.0.0.1");
    MongoClient mongoClient = mongo.getObject();
    MongoTemplate mongoTemplate = new MongoTemplate(mongoClient, "some_database");
    return mongoTemplate;
}
 类似资料:
  • 问题内容: 我想在 独立应用程序* 中将 hibernate 与 嵌入式derby 一起使用,并且我有一些问题: * 我需要什么jar? 必要的hibernate配置是什么? 还有其他必要的配置吗? 查询/条件是否有任何问题/限制? 如果您还可以建议我一些适合这种方法的好教程,那将是可取的,谢谢。 问题答案: 我将Apache Derby与Hibernate一起用于测试项目的一个模型类(它们的 e

  • 我是kubernetes的新手,需要在openshift平台上使用k8s confimap将springboot应用程序的属性文件外部化。我已将属性文件保存在git repo中,作为“greeter.message=Spring Bootmyapplication.properties已在库伯内特斯上挂载为卷!”并使用“oc create confimap myconfig--from-file=

  • 我有一个很大的swing应用程序,我想把javafx嵌入其中。我多次尝试这样做(通过遵循oracle教程等),但只有在声明一个新的JFrame以使用JFXPanel组件时才成功。但是,我不想使用新的框架,我想将我的Javafx代码合并到swing应用程序的根JFrame中。 我们可以将javaFX组件嵌入到JPanel而不是JFrame中吗?如果答案是肯定的,为什么我没有成功?

  • 问题内容: 我确信你们中有人注意到,如果您有Acrobat Reader(或其他PDF阅读器),并在Firefox中打开一个PDF,您会看到它嵌入在您的标签中。有什么方法可以将应用程序嵌入JFrame中? 问题答案: 这是一个相当棘手的问题。通常,诸如Adobe Reader之类的本机应用程序不提供可以嵌入到swing应用程序中的组件。但是在Windows中,有COM / OLE方法可以将应用程序

  • 我正在尝试让一个简单的HTTP控制台应用程序作为Azure服务应用程序运行。它所做的只是在连接时返回OK。它在我的笔记本电脑上运行良好,我可以使用VS2019发布到Azure ok。问题是用于监听的前缀。 在我的笔记本电脑上,我可以使用超文本传输协议://: 80/; https://: 443/,但在Azure中,我得到一个错误:[例外]访问被拒绝。 本文https://github.com/p

  • 我是Spring Framework的新手。试图制作一个基于Java的Spring MVC项目。这是我的主要应用程序类 当我运行项目时,我得到了错误 为什么Spring不能显示JSP文件?