2016-04-21 162 views
0

我在使用Spring和MongoDB的Java项目中遇到了一些问题,下面的代码。无法连接到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 
+0

您可能想修复NPE在'在pl.wroc.pwr.ie.service.JiraProjectBriefControllerImpl.update(JiraProjectBriefControllerImpl.java:23)' – Mena

回答

1

当你在对象上调用new,就像你在你的主要做的,这意味着春天出于图片。对象的创建和满足它的依赖关系取决于你。

您不应该调用new来创建该对象。更好地实例化Spring Bean工厂,并要求它为您提供所需的实例以及其所有依赖关系。

这是新的Spring用户常见的误解。他们称新的,并不明白为什么他们的Spring依赖关系没有连线。

+1

谢谢你,解决我的问题! – ulou

0

jiraProjectBriefRepository未初始化。