1

由于某种原因,我无法自动装配ViewResolver

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

    // ...
}

viewResolver 是null.

该类JsonMultipleViewFactory在弹簧控制器中自动装配:

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

    // ...
}

我创建了一个github 存储库,其中包含一个重现问题的非常小的示例。

谁能帮我?

谢谢你。

4

2 回答 2

1

我回答了你之前的问题,没有答案:

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

于 2012-05-09T17:13:01.020 回答
1

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

<bean class="package.full.name.ViewResolver" />
于 2012-05-09T17:16:29.553 回答