SpringBoot快速迁移至Quarkus的方法步骤
Quarkus 是一个目前非常火的 Java 应用开发框架,定位是轻量级的微服务框架。,Quarkus 提供了优秀的容器化整合能力,相较于传统开发框架(Spring Boot)有着更快的启动速度、更小的内存消耗、更短的服务响应。
本文将演示将 SpringBoot 迁移至 Quarkus
Spring Boot 示例程序
使用 JPA 完成 数据库的增删改查操作,基础代码如下
maven 依赖
1 2 3 4 5 6 7 8 |
< dependency >
< groupId >org.springframework.boot groupId >
< artifactId >spring-boot-starter-data-jpa artifactId >
dependency >
< dependency >
< groupId >org.springframework.boot groupId >
< artifactId >spring-boot-starter-web artifactId >
dependency >
|
jpa crud
1 2 |
public interface DemoUserDao extends CrudRepository
}
|
迁移至 Quarkus
quarkus-bom 管理了全部 quarkus 插件 maven 依赖的版本信息,引入后所有依赖不需要再定义版本。
1 2 3 4 5 6 7 8 9 10 11 |
< dependencyManagement >
< dependencies >
< dependency >
< groupId >io.quarkus groupId >
< artifactId >quarkus-bom artifactId >
< version >1.10.5.Final version >
< type >pom type >
< scope >import scope >
dependency >
dependencies >
dependencyManagement >
|
迁移 spring-web 、spring-jpa 至 quarkus 技术栈。
1 2 3 4 5 6 7 8 |
< dependency >
< groupId >io.quarkus groupId >
< artifactId >quarkus-spring-data-jpa artifactId >
dependency >
< dependency >
< groupId >io.quarkus groupId >
< artifactId >quarkus-spring-web artifactId >
dependency >
|
配置文件调整 (还是在 application.yml)
1 2 3 4 5 |
quarkus.datasource.db-kind=mysql
quarkus.datasource.jdbc.driver=com.mysql.cj.jdbc.Driver
quarkus.datasource.username=root
quarkus.datasource.password=root
quarkus.datasource.jdbc.url=jdbc:http://localhost:8080
2021-01-12 22:31:48,703 INFO [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated.
2021-01-12 22:31:48,703 INFO [io.quarkus] (Quarkus Main Thread) Installed features: [agroal, cdi, hibernate-orm, hibernate-orm-panache, mutiny, narayana-jta, resteasy, resteasy-jackson, smallrye-context-propagation, spring-data-jpa, spring-di, spring-web]
|
非常重要的是输出了当前已经安装的功能
1 |
Installed features: [agroal, cdi, hibernate-orm, hibernate-orm-panache, mutiny, narayana-jta, resteasy, resteasy-jackson, smallrye-context-propagation, spring-data-jpa, spring-di, spring-web]
|
【扩展】 actuator 监控迁移
添加以下依赖
1 2 3 4 |
< dependency >
< groupId >io.quarkus groupId >
< artifactId >quarkus-smallrye-health artifactId >
dependency >
|
指定访问监控断点路径
1 |
quarkus.smallrye-health.root-path=/actuator/health
|
访问监控检查断点测试
1 2 3 4 5 6 7 8 9 10 |
curl http: //localhost:8080/actuator/health
{
"status" : "UP" ,
"checks" : [
{
"name" : "Database connections health check" ,
"status" : "UP"
}
]
}?
|
【扩展】Flyway 迁移
添加 quarkus flyway 插件
1 2 3 4 |
< dependency >
< groupId >io.quarkus groupId >
< artifactId >quarkus-flyway artifactId >
dependency >
|
指定插件启动策略即可
1 |
quarkus.flyway.migrate-at-start=true
|
>>> 源码 https://gitee.com/log4j/pig
到此这篇关于SpringBoot快速迁移至Quarkus的方法步骤的文章就介绍到这了,更多相关SpringBoot 迁移至Quarkus内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
转自:https://www.jb51.net/article/204600.htm