我可以在我的应用程序中使用 springs mvc + EJB + Hibernate 的组合吗?我的应用程序是分布式应用程序。那么这种组合适合我的应用吗?
我想开发一个分布式应用程序并已经开始使用 springs-mvc 进行 gui 编码
,现在我想访问数据库并且我很困惑天气使用 jdbc 还是 hibernate?
我在某处读到休眠不适合分布式应用程序。那么任何人都可以帮我决定天气使用jdbc还是hibernate?
先感谢您。
我可以在我的应用程序中使用 springs mvc + EJB + Hibernate 的组合吗?我的应用程序是分布式应用程序。那么这种组合适合我的应用吗?
我想开发一个分布式应用程序并已经开始使用 springs-mvc 进行 gui 编码
,现在我想访问数据库并且我很困惑天气使用 jdbc 还是 hibernate?
我在某处读到休眠不适合分布式应用程序。那么任何人都可以帮我决定天气使用jdbc还是hibernate?
先感谢您。
TL;TR:是的,你可以。
长版:
JDBC 与 JPA(或 Hibernate):如果您需要一个面向对象的域版本(一般来说这是件好事),那么 JPA/Hibernate 往往是您的选择。JDBC 更多地用于性能任务(批处理),或简单的查询工具(甚至用于遗留系统)。
SpringMVC vs JSF:当你喜欢使用组件库(例如:primefaces)时使用 JSF,当你想要完全控制你的 Javascript+CSS+HTML 时倾向于使用 SpringMVC。如您所知,JSF 是一种尽可能避免与 Web 技术打交道的抽象。没有一个比另一个更好,只是不同
Spring Framework vs EJB/CDI:偏好问题,它们提供的几乎相同,编程模型几乎相同,请记住某些 Spring 特性是专有的(Vendor Lock ahead!),并且在某种程度上(我的偏见意见) EJB+CDI 更加优雅和简单。
替代解决方案:如果您熟悉 SpringMVC,那么就使用它,您甚至可以在 Java EE 服务器中使用它
警告:不要使用旧的错误方式tomcat + zillions of jars,如果您使用 Java EE,至少使用 TomEE,如果您更喜欢 Spring,请使用 tc Server。
注意:应用服务器现在的重量并不大(另请参阅:TomEE、wildfly)。
对于“分布式”系统,您可以使用 JMS 或 Web 服务(还有其他技术,但不是主流)。
使用 EJB(@Webservice 或 @Path 注释)实现的 Web 服务方式更简单,您可以使用 JMS,但维护和监控有点困难,而且,也许您需要确认一些客户并且您需要处理 JMS 继承的异步,使用 JMS Only-when-necessary。