【问题标题】:what's the difference between managed bean and spring controller?托管bean和spring控制器有什么区别?
【发布时间】:2013-03-30 12:56:56
【问题描述】:

我正在开发 spring-hibernate-jsf 应用程序,但我不明白 managedbean 和 spring 控制器之间的区别。我认为 managedbeans 像控制器一样工作。使用控制器或 managedbean 有什么好处吗?

【问题讨论】:

标签: java spring jsf controller javabeans


【解决方案1】:

托管 Bean 提供服务并用作 UI 组件的模型。控制器是请求/响应组件,例如 Servlet。

JSF 是一个基于组件的 Web 框架,而 Spring 是一个 DI 框架。 JSF 和 Spring 管理它们自己的 bean,因此要引用 ManagedBeans 并注入它们,您需要使用 @Controller 注解将 JSF ManagedBeans 标记为 Spring Controller。

如果你想用另一个替换一个,那么如果你想同时使用 Spring 和 JSF,你必须同时使用它们。

【讨论】:

  • 我刚刚将 managedbeans 更改为控制器(我只是添加了@controller 注释并删除了@managedbean),它给出了“exampleController 解析为 null...”。
  • 您需要同时保留 @ManagedBean@Controller 注释,分别用于 JSF 和 Spring。
  • 我将只使用托管 bean 作为 UI 界面的 控制器,并使用 Spring 进行 DI 和类注入。不过,如果您要在 Java EE 环境中工作,最好使用 EJB 而不是 Spring(也许 JPA 由 Hibernate 实现)。
猜你喜欢
  • 2011-05-07
  • 1970-01-01
  • 2019-05-06
  • 1970-01-01
  • 1970-01-01
  • 2013-09-17
  • 1970-01-01
  • 2012-04-14
  • 1970-01-01
相关资源
最近更新 更多