我有一些关于Spring Boot和Hibernate的问题。
我与一位开发人员进行了讨论,他说他在Jar中编译了Rest Api,用Spring Boot开发,使用Spring Boot提供的tomcat服务器,并将Jar部署到服务器上。但在我的情况下,我使用war打包并部署在tomcat服务器上,但他说它的性能较差。
我不知道为什么,如果你在microservices中开发了你的Resp Api和Spring boot你使用他的解决方案,你会创建多个tomcat实例吗?
关于hibernate,我在一些查询中使用了HQL,他告诉我这是很糟糕的方法,因为使用Sql注入很危险,是真的吗?
在Java Cloud空间中,有2个主要方向:
Java EE:
创建一个包含Java EE应用程序/ Web服务器(例如Tomcat,WildFly,GlassFish等)的Docker基本映像。 创建一个(薄)WAR文件 根据您的基础映像创建一个Docker映像,该映像将WAR文件部署到应用程序服务器 Spring Boot:
使用Spring Boot Maven插件创建一个JAR文件 创建一个执行JAR文件的Docker映像 我猜您也可以将两种方法混合使用(创建一个Spring Boot WAR文件),但是单一的JAR文件方法在Spring Boot中更为常见(我目前正在使用这种方法)。
一些Java EE专家(例如Adam Bien)提倡第一种方法(更少的依赖关系,更小的WAR文件,更小的Docker映像,更多的标准API(尽管随着从Java EE到Jakarta EE的转变,“标准”的含义正在改变))。
我不能告诉你哪个有更高的性能。无论哪种方式,每个Docker映像都将启动一台服务器。
关于Hibernate和SQL注入:我不是在使用HQL,而是在使用JPQL,但最终它与JDBC大致相同:不要使用用户输入来对查询进行字符串连接。始终使用带有变量的某种准备好的语句来格式化用户输入。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。