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

基于spring boot项目中的spring data mongodb配置

萧凡
2023-03-14

我正在用spring boot编写代码,它将csv作为输入,创建mongodb集合并将其插入mongodb。

目前,我坚持在基于spring boot的代码中使用mongodb。在MongoRepository接口上使用save方法时,我收到NullPointerException。

可能这个问题是由于不正确的配置在application.yml文件下面是mongodb特定的变化在application.yml在src/main/Resources目录。

spring:
   data:
      mongodb.host: localhost
      mongodb.port: 27017
      mongodb.uri: mongodb://localhost/test
      mongo.repositories.enabled: true

应用java文件如下:

@Configuration
@EnableMongoRepositories
@Import(RepositoryRestMvcConfiguration.class)
@EnableAutoConfiguration  // Sprint Boot Auto Configuration
@ComponentScan(basePackages = "com.khoubyari.example")
public class Application extends SpringBootServletInitializer {

private static final Class<Application> applicationClass = Application.class;
private static final Logger log = LoggerFactory.getLogger(applicationClass);

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


@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
    return application.sources(applicationClass);
}
}

如果申请。java实现CommandLineRunner,并在重写的方法运行中编写mongodb插入特定代码,代码运行正常。此代码位于以下URL中:https://spring.io/guides/gs/accessing-data-mongodb/

但是,我的Application.java扩展了SpringBootServlet初始工具类和重写配置(SpringApplication ationBuilder应用程序)方法。请查看上面的pplication.java.

我需要使用相同的db特定的代码(在相同的代码,其中URL我在上面提到的Application.java类)在实用程序类中存在不同的包,我的基于Spring引导的项目。

自定义存储库界面如下:

CustomRepository.java:

public interface CustomRepository extends MongoRepository<CsvPojo, String>{

}

在实用程序类中,我只想注入CustomRepository,并使用save方法将创建的CsvPojo保存到mongodb中。但我在执行line customRepository时正在生成NullPointerException。save(csvPojo);

请建议!如果需要其他信息,请告诉我!

你好Shobhit

共有1个答案

伍宝
2023-03-14

在spring rest控制器中调用save方法解决了这个问题,而不是从实用程序类中调用

我只是在控制器中插入CustomRepository接口并使用save方法!

我在学习了《关于服务》一节后得到了解决方案https://github.com/khoubyari/spring-boot-rest-example

我需要在Spring开机探索更多,但无论如何,问题是解决后,上述张贴的努力!

 类似资料:
  • 本文向大家介绍基于javamelody监控springboot项目过程详解,包括了基于javamelody监控springboot项目过程详解的使用技巧和注意事项,需要的朋友参考一下 JavaMelody是用来在QA和实际运行生产环境中监控Java或Java EE应用程序服务器的一个开源框架。它不是一个工具来模拟来自用户的请求,而是一个测量和计算用户在实际操作中应用程序的使用情况的工具,并以图表的

  • 我一直在用SpringBoot+Spring Data JPA编写我的第一个项目。我使用MySql作为我的数据库提供程序。我对春靴和冬眠有点陌生。 我遵循了http://blog.netgloo.com/2014/10/27/using-mysql-in-spring-boot-via-spring-data-jpa-and-hibernate/提供的教程。 在我的项目中,没有任何配置文件。我需要

  • 我查看了文档,没有找到这样做的方法。有没有办法告诉gradle idea任务创建目录项目结构()而不是项目/模块文件()?

  • 我有一个Gradle多项目构建,看起来像这样: 我希望将目录< code>shared中的所有项目作为依赖项添加到< code>plugins中的所有项目。 更一般地说:我如何按目录配置子项目? settings.gradle的内容: build.gradle的内容:

  • 你好,我在我的项目中使用Spring Boot和Hikari进行db连接。spinger引导版本是2.2.5.RELEASE,Hikari是3.4.2。但是,当我运行我的项目时,它总是使用Hikari默认配置值,而不是使用我的属性文件中的值。这是我的属性: 这是我在应用程序配置中的数据源: 下面是输出:10:23:19.050[main]DEBUG com . zax xer . hikari .