2016-04-21 160 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未初始化。