1

我正在开发一个在 tomcat 上运行的 JSF/PrimeFaces Web 应用程序,它使用 Spring 根据部署上下文注入不同的服务。当我意识到 JSF 2.3 需要一个 CDI 容器但 Spring 没有实现完整的 CDI 规范时,我正在考虑将它迁移到 JSF 2.3,而且从我所读到的内容来看,短期内不会这样做。

所以我的问题是两个方面:

1)人们如何处理这个问题?我读过可能有一些解决方法可以将 CDI 与 Spring 连接起来?但是您会推荐哪种桥接解决方案?桥接是一个长期的解决方案吗?桥接是否有任何缺点(例如没有工作功能)?

2) 如果 JSF 不再是一种选择,您会为新的基于 Spring 的应用程序使用哪种 Web 前端技术?回到JSP?像百里香一样模板?GWT 还是 vaadin?Javascript 技术,如 reactJS 或 Angular,并使用两种语言和数据模型?

感谢分享

4

2 回答 2

2

我的组织曾经使用 JSF + Spring,但现在我们正在转向 Spring MVC + Thymeleaf。将 Angular 或 React 与 Spring MVC REST 一起使用也不是一个坏选择,但 Spring MVC + Thymeleaf 将更自然地适合 Java 团队更快的入职。

于 2018-11-14T23:15:23.267 回答
1

MyFaces 2.3.x 应该仍然可以在 Spring 上运行。但是,我不确定 3.x 是否可以做到这一点。

如果不想放弃 Spring,还可以添加 CDI 实现“Apache OpenWebBeans”,它非常小(在 0.5mb 和 1mb 之间)。网络上有可用的“桥梁”,如何将 Spring bean 注入 CDI bean,反之亦然。

于 2018-11-15T09:08:02.003 回答