Java SpringMVC。Bean空值

Java SpringMVC。Bean空值,java,spring,javabeans,Java,Spring,Javabeans,我的控制器有一个自动连线字段“resultados” @控制器 公共类MyController{ @自动连线 私有游标公使游标公使; @自动连线 私有列表结果; @RequestMapping(value=“consultarArticulos.html”) 公共模型和视图顾问Articulos(){ ModelAndView ModelAndView=新的ModelAndView(“咨询顾问”); addObject(“resultados”,resultados); 返回模型和视图; }

我的控制器有一个自动连线字段“resultados”

@控制器
公共类MyController{
@自动连线
私有游标公使游标公使;
@自动连线
私有列表结果;
@RequestMapping(value=“consultarArticulos.html”)
公共模型和视图顾问Articulos(){
ModelAndView ModelAndView=新的ModelAndView(“咨询顾问”);
addObject(“resultados”,resultados);
返回模型和视图;
}
我在配置类中定义了bean。方法“cursorodelegado.consultarArticulos()”返回三个元素的集合,但bean总是空的。这里还有其他类,但不需要

@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;
        }
    }
}
@配置
@EnableWebMvc
@组件扫描(basePackages=“com.myapp”)
公共类MyConfig扩展WebMVCConfigureAdapter{
@豆子
公共列表resultados()
{
试一试{
返回cursoDelegado.consultarArticulos();
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
返回null;
}
}
}
抱歉,我没有粘贴所有代码,但应用程序运行并声明了所有bean。问题是“resultados”

我更改代码:

@Autowired //MyControllerClass
private @Resource(name="bean1")List<Articulo> resultados;

@Bean(name="bean1")//MyConfigClass
public List<Articulo> resultados()
@Autowired//MyControllerClass
private@Resource(name=“bean1”)列表resultados;
@Bean(name=“bean1”)//MyConfigClass
公共列表resultados()
现在没问题了。接口列表有任何问题,但我不知道原因。如果有人能告诉我这个问题:)

@Bean
公共列表结果(CursoDelegate cursoDelegado)
{
试一试{
List resultados=new ArrayList();
resultados=cursoDelegado.consultarArticulos();
返回resultados;
}捕获(例外e){
//TODO自动生成的捕捉块
e、 printStackTrace();
返回null;
}
}
MyConfig中未定义/注入Cursorodelegado,因此Cursorodelegado.consultarArticulos()将始终引发NullPointerException。您捕获该异常,因此它在应用程序中不可见。控制台输出(例如printStackTrace)应在服务器日志中可见

最好直接在注入Cursorodelegado的控制器中使用cursorodelegado.consultarArticulos()。

@Configuration
@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;
        }
    }
}
@EnableWebMvc @组件扫描(basePackages=“com.myapp”) 公共类MyConfig扩展WebMVCConfigureAdapter{ @豆子 公共光标Legate cursorodelegado(){ 返回新的cursorodelegateimpl(); } @豆子 公共列表resultados() { 试一试{ 返回cursorodelegado().consultarArticulos(); }捕获(例外e){ //TODO自动生成的捕捉块 e、 printStackTrace(); 返回null; } } }
MyController.consultarArticulos和
cursorodelegate.consultarArticulos
可能会混淆实际问题所在的方法。Post
cursorodelegate
对不起,我不会复制所有代码。应用程序运行,但结果始终为空
@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;
    }
}
@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;
        }
    }
}