托管bean和弹簧控制器有什么区别?

问题描述:

我正在开发spring-hibernate-jsf应用程序,但我不明白managedbean和spring控制器之间的区别。我认为managedbeans像控制器一样工作。使用控制器还是managedbean有什么优势?托管bean和弹簧控制器有什么区别?

+0

区别在于它们不同。不是一个真正的问题。 – EJP 2013-04-09 01:28:15

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

JSF是一个基于组件的web框架& Spring是一个DI框架。 JSF & Spring管理自己的bean,所以要引用ManagedBeans并注入它们,您需要使用@Controller注释将JSF ManagedBeans标记为Spring控制器。

如果您正在考虑将其中一个替换为另一个,那么如果您想同时使用两个弹簧组合,则不需要使用它们。

+0

我刚刚将managedbeans更改为控制器(我只是添加了@controller annotiation并删除了@managedbean),并给出了“exampleController解析为null ...”。 – 2013-04-08 13:32:27

+0

您需要分别为JSF和Spring保留'@ ManagedBean'和'@ Controller'注释。 – 2013-04-08 14:00:53

+0

我只会将托管bean作为* controller *用于UI界面,并使用Spring进行DI和类注入。尽管如此,如果你要在Java EE环境中工作,最好使用EJB而不是Spring(也许可以通过Hibernate实现JPA)。 – 2013-04-08 14:29:32