【问题标题】:Can't connect with MongoDB无法与 MongoDB 连接
【发布时间】:2016-04-21 14:33:00
【问题描述】:

我对 Java 项目有一些问题,使用 Spring 和 MongoDB,代码如下。

我尝试通过 jiraConfig.properties 使用 jira.path 和 spring.data.mongodb.port 连接数据库,但它不起作用,我找不到解决方案。我忘了什么吗?

public class JiraProjectBriefControllerImpl implements JiraProjectBriefController {



  @Autowired
    JiraProjectBriefRepository jiraProjectBriefRepository;

    @Override
    public void update() {
        JiraController jiraController = new JiraControllerImpl();

        List<ProjectBrief> projectBriefs = jiraController.getAllProjectsBrief();

         jiraProjectBriefRepository.save(projectBriefs);
    }

    @Override
    public List<ProjectBrief> getProjectsBrief() {
        return jiraProjectBriefRepository.findAll();
    }

    @Override
    public ProjectBrief findById(int id) {
        return jiraProjectBriefRepository.findById(id);
    }}

//二等

@Configuration
@EnableAutoConfiguration
public interface JiraIntegrationService {

    static void main(String[] args) {

        SpringApplication.run(JiraIntegrationService.class, args);

        JiraProjectBriefController jiraProjectBriefController = new JiraProjectBriefControllerImpl();

        jiraProjectBriefController.update();

        System.out.print(jiraProjectBriefController.getProjectsBrief());
    }

}

// 错误

java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.springframework.boot.maven.AbstractRunMojo$LaunchRunner.run(AbstractRunMojo.java:478)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
    at pl.ie.service.JiraProjectBriefControllerImpl.update(JiraProjectBriefControllerImpl.java:23)
    at pl.ie.JiraIntegrationService.main(JiraIntegrationService.java:26)
    ... 6 more

【问题讨论】:

  • 你可能想在at pl.wroc.pwr.ie.service.JiraProjectBriefControllerImpl.update(JiraProjectBriefControllerImpl.java:23)修复NPE

标签: java spring mongodb spring-boot


【解决方案1】:

当你在一个对象上调用 new 时,就像你在你的 main 中那样,这意味着 Spring 不在画面中。对象的创建和满足其依赖关系由您决定。

您不应该调用 new 来创建该对象。最好实例化 Spring Bean 工厂,并要求它为您提供所需的实例,其中包含所有依赖项。

这是 Spring 新用户的常见误解。他们调用 new 并且无法理解为什么他们的 Spring 依赖项没有连接。

【讨论】:

    【解决方案2】:

    jiraProjectBriefRepository 未初始化。

    【讨论】:

      猜你喜欢
      • 2020-06-07
      • 2020-05-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-06
      • 2022-01-14
      • 2016-09-26
      • 1970-01-01
      相关资源
      最近更新 更多