Woj*_*ski 7 java spring dependency-injection spring-mvc
在一个spring mvc项目中,我想将一个@Controller注入一个不同的bean,如下所示:
@Controller
public class MyController {
..
}
@Component
public class SomeSpringBean {
@Resource
private MyController myController;
..
}
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用,虽然@Controller注释是@Component的特化,就像@Service(它可以工作)一样:
org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [com..Mycontroller] is defined
Run Code Online (Sandbox Code Playgroud)
我也尝试直接从ApplicationContext获取bean.
我想避免讨论为什么我要注入控制器,我宁愿创建一个额外的抽象级别,而是注入它:)
我将假设您的SomeSpringBean类是由加载的根上下文扫描的组件ContextLoaderListener.
我将假设您的@Controller注释类由加载的servlet上下文扫描DispatcherServlet.
在这种情况下,根上下文无权访问servlet上下文中的bean.只有反过来才是真的.
您需要将该SomeSpringBean类放在一些必须由servlet上下文扫描的其他包中.
如果我的假设是错误的,请添加您的上下文配置.
这不是一个好主意.@Controller豆是指由被管理DispatcherServlet的HandlerMapping堆栈.我想不出你想从@Controller豆子里得到什么.
| 归档时间: |
|
| 查看次数: |
3415 次 |
| 最近记录: |