2016-04-05 14 views
-1

私のコントローラは "resultados"Spring MVC。豆nullは

@Controller 
public class MyController { 

    @Autowired 
    private CursoDelegate cursoDelegado; 

    @Autowired 
    private List<Articulo> resultados; 

    @RequestMapping(value = "consultarArticulos.html") 
    public ModelAndView consultarArticulos() { 

     ModelAndView modelAndView= new ModelAndView("consultarArticulos");    
     modelAndView.addObject("resultados", resultados);  
     return modelAndView;   
    } 

Autowiredフィールドを持っていると私は、構成クラスでBeanを定義する値。メソッド "cursoDelegado.consultarArticulos()"は3つの要素のコレクションを返しますが、Beanは常に空です。私はすべてのコードが、アプリケーションの実行を貼り付けるdidntは、すべての豆が宣言している、そこに他のクラスがありますが、ここで

@Configuration 
@EnableWebMvc 
@ComponentScan(basePackages = "com.myapp") 
public class MyConfig extends WebMvcConfigurerAdapter { 

    @Bean 
    public List<Articulo> resultados() 
    { 
     try { 
      return cursoDelegado.consultarArticulos(); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      return null; 
     } 
    } 
} 

申し訳必要ありません。

​​

、今そのOK:problemaは、私は、コードを変更する "resultados"

です。インターフェイスのリストには問題がありますが、その理由はわかりません。誰かが私にproblema :)

+0

それはあなたがメソッド 'MyController.consultarArticulos'と実際の問題が存在する' CursoDelegate.consultarArticulos'が混乱していることが可能です。投稿 'CursoDelegate' – Reimeus

答えて

0
@Bean 
public List<Articulo> resultados(CursoDelegate cursoDelegado) 
{ 
    try { 
     List<Articulo> resultados = new ArrayList<Articulo>(); 
     resultados = cursoDelegado.consultarArticulos(); 
     return resultados; 
    } catch (Exception e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
     return null; 
    } 
} 
0

を説明できる場合cursoDelegadoのMyConfigに注入/定義されていないので、cursoDelegado.consultarArticulos()は常にNullPointerExceptionがスローされます。これをキャッチするとアプリケーションに表示されません。コンソール出力(e.printStackTrace)がサーバーログに表示されている必要があります。

cursoDelegadoが注入されたコントローラで直接cursoDelegado.consultarArticulos()を使用するのが最適。

+0

私はすべてのコードをコピーしてください、申し訳ありません。アプリケーションは実行されますが、resultadosは常にnullです。 – Gwaihir

0
@Configuration 
@EnableWebMvc 
@ComponentScan(basePackages = "com.myapp") 
public class MyConfig extends WebMvcConfigurerAdapter { 
    @Bean 
    public CursoDelegate cursoDelegado() { 
     return new CursoDelegateImpl(); 
    } 

    @Bean 
    public List<Articulo> resultados() 
    { 
     try { 
      return cursoDelegado().consultarArticulos(); 
     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
      return null; 
     } 
    } 
}