spring|Spring Boot 还是最先进的java框架吗( 二 )


日志4j【spring|Spring Boot 还是最先进的java框架吗】捆绑库的危险性最近在 Log4j 错误中变得清晰起来 。 一个简单而典型的 Spring Boot 依赖项 , 如下所示:

… 可能导致您的最终应用程序出现安全漏洞 。 由于 Log4j 库现在是您构建的一部分 。 要更新此依赖项 , 您需要更新代码并重建和推出Spring Boot应用程序 。
相比之下 , 在Jakarta EE中 , 您永远不会针对特定实现构建代码 , 而只会针对接口构建代码 。 这意味着您的代码以及最终的组件永远不会对特定实现有硬编码依赖 。 在具体示例中 , 您只需更改运行时环境 , 无需更新或重建代码 。 这意味着对于像 Kubernetes 这样的容器环境 , 您只需更新映像版本并重新启动容器 。
结论我想再次澄清一下 , 我不是在谈论这两个应用程序框架的 API 。 Spring Boot和Jakarta EE都提供了类似的功能范围 , 可以快速轻松地开发微服务 。
然而 , Spring Boot构建可启动服务器的原有优势在容器环境时代似乎越来越成为劣势 。 失去了灵活性 , 并冒着变得非常依赖库的风险 , 您作为开发人员无法监督其影响 。
相比之下 , 当今应用程序服务器提供了容器技术的使用 , 使您能够在开发过程中使用类似生产的服务器系统 。 从这个角度来看 , 在我看来 , 今天围绕你的微服务构建一个可启动的服务器已经没有意义了 。