开发者社区> 问答> 正文

Spring Boot + Hibernate-技术问题

我有一些关于Spring Boot和Hibernate的问题。

我与一位开发人员进行了讨论,他说他在Jar中编译了Rest Api,用Spring Boot开发,使用Spring Boot提供的tomcat服务器,并将Jar部署到服务器上。但在我的情况下,我使用war打包并部署在tomcat服务器上,但他说它的性能较差。

我不知道为什么,如果你在microservices中开发了你的Resp Api和Spring boot你使用他的解决方案,你会创建多个tomcat实例吗?

关于hibernate,我在一些查询中使用了HQL,他告诉我这是很糟糕的方法,因为使用Sql注入很危险,是真的吗?

展开
收起
小六码奴 2019-10-03 19:34:10 857 0
1 条回答
写回答
取消 提交回答
  • 在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大致相同:不要使用用户输入来对查询进行字符串连接。始终使用带有变量的某种准备好的语句来格式化用户输入。

    2019-10-09 16:04:56
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
云栖社区特邀专家徐雷Java Spring Boot开发实战系列课程(第20讲):经典面试题与阿里等名企内部招聘求职面试技巧 立即下载
微服务架构模式与原理Spring Cloud开发实战 立即下载
阿里特邀专家徐雷Java Spring Boot开发实战系列课程(第18讲):制作Java Docker镜像与推送到DockerHub和阿里云Docker仓库 立即下载