在Spring MVC中自动装配ViewResolver

时间:2012-05-09 17:05:39

标签: java spring spring-mvc autowired

出于某种原因,我无法自动加载ViewResolver

@Component
public class JsonMultipleViewFactory
{
    @Autowired
    private ViewResolver viewResolver;

    // ...
}

viewResolver是null

班级JsonMultipleViewFactory在弹簧控制器中自动装配:

@Controller
public class HomeController
{
    @Autowired
    private JsonMultipleViewFactory jsonMultipleViewFactory;

    // ...
}

我创建了一个github repository,其中包含一个重现问题的小例子。

任何人都可以帮助我吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

我在your previous question上回答,没有回答:

  

在您的示例中,JsonMultipleViewFactory是通过发现的   按父上下文(applicationContext.xml)扫描组件。   InternalResourceViewResolver在子上下文中定义   (test-servlet.xml)。因此,父上下文无法看到bean是正常的   在子上下文中定义。这就是为什么你得到一个   NoSuchBeanDefinitionException。尝试将所有这些bean放在一起   上下文。

答案 1 :(得分:1)

看起来您没有将视图解析器注册为spring bean,您需要在应用程序上下文中添加如下内容:

<bean class="package.full.name.ViewResolver" />