当前位置: 首页 > news >正文

建站哪家好联系兴田德润wordpress水果商城主题

建站哪家好联系兴田德润,wordpress水果商城主题,电子商务网站软件建设的核心是,自己做的网页怎么连接到网站Quarkus初探 背景安装Quarkus安装Quarkus CLI 创建Quarkus项目运行Quarkus初探代码修改一下代码 数据持久化创建PanacheEntiry写入数据读取数据 Dev Service使用外部数据库区分dev和prod 构建native应用#xff08;依赖Graalvm#xff09; 背景 最早是在Infoq上了解到Quarku… Quarkus初探 背景安装Quarkus安装Quarkus CLI 创建Quarkus项目运行Quarkus初探代码修改一下代码 数据持久化创建PanacheEntiry写入数据读取数据 Dev Service使用外部数据库区分dev和prod 构建native应用依赖Graalvm 背景 最早是在Infoq上了解到Quarkus这个框架内部集成了Vertx对native-image有着非常好的支持启动速度非常快占用内存很小相较于Springboot,最近有时间就来体验一下。 安装Quarkus Quarkus也是基于Java的微服务框架所以想要体验Quarkus需要满足以下条件 JDK 17配置配置好了JAVA_HOMEApache Maven 3.9.6docker或podman可选Quarkus CLI可选Graalvm可选用于构建Native应用 安装Quarkus CLI Quarkus CLI中提供了很多命令可以帮助我们快速的创建、运行Quarkus项目。这两天体验下来Quarkus CLI应该是主要对mvn的各类命令进行了集成Quarkus CLI的命令相较于mvn来说更加便捷也是推荐大家安装体验一下。目前官方支持以下几种安装方式 JBang - for Linux, macOS and WindowsSDKMAN! - for Linux and macOSHomebrew - for Linux and macOSChocolatey - for WindowsScoop - for Windows 我目前这台机器是通过SDKMAN来管理JDK版本的这里选择了使用SDKMAN进行安装 sdk install quarkus 安装完成之后验证一下 quarkus --version 3.9.2 创建Quarkus项目 通过quarkus执行以下命令 quarkus create app org.acme:getting-started-dev-services \--extensionrest cd getting-started-dev-services或者通过maven mvn io.quarkus.platform:quarkus-maven-plugin:3.9.2:create \-DprojectGroupIdorg.acme \-DprojectArtifactIdgetting-started-dev-services \-Dextensionsrest cd getting-started-dev-services如果想要创建一个gradle项目可以追加以下参数 -DbuildToolgradle 或 -DbuildToolgradle-kotlin-dsl 对于使用windows的同学有以下两点需要注意: 如果使用cmd不要使用\分割命令所有命令都要放在同一行中如果使用PowerShell-D的参数需要使用双引号括起来e.g.-DprojectArtifactIdgetting-started-dev-services 运行Quarkus quarkus devor ./mvnw quarkus:devor ./gradlew --consoleplain quarkusDev正常启动后可以看到如下信息 __ ____ __ _____ ___ __ ____ ______ --/ __ \/ / / / _ | / _ \/ //_/ / / / __/ -/ /_/ / /_/ / __ |/ , _/ , / /_/ /\ \ --\___\_\____/_/ |_/_/|_/_/|_|\____/___/ 2024-04-10 11:22:05,350 INFO [io.quarkus] (Quarkus Main Thread) code-with-quarkus 1.0.0-SNAPSHOT on JVM (powered by Quarkus 3.9.2) started in 0.842s. Listening on: http://localhost:80802024-04-10 11:22:05,351 INFO [io.quarkus] (Quarkus Main Thread) Profile dev activated. Live Coding activated. 然后我们在浏览器里访问 http://localhost:8080/hello应该可以看到如下信息 Hello from Quarkus REST 初探代码 我们使用IDE打开刚刚创建的项目可以看到只有一个很简单的类GreetingResource package org.acme;import jakarta.ws.rs.GET; import jakarta.ws.rs.Path; import jakarta.ws.rs.Produces; import jakarta.ws.rs.core.MediaType;Path(/hello) public class GreetingResource {GETProduces(MediaType.TEXT_PLAIN)public String hello() {return Hello from Quarkus REST;} }相交于Springboot来说这里不需要定义一个Application启动类再增加一个Controller一个简简单单的GreetingResource就完成了所有的功能这里使用到的注解也都是jakarta的标准注解。 修改一下代码 public String hello(RestQuery String name) {return Hello name; }然后我们访问http://localhost:8080/hello?nameBloom 这时我们会看到这样一条消息: Hello Bloom. quarkus dev模式支持代码热部署在我们修改代码之后无需重启调试修改的时候会非常方便。 对应的我们修改一下单元测试 src/test/java/org/acme/GreetingResourceTest.java将 .body(is(“Hello from Quarkus REST”)); 修改为 .body(containsString(“Hello”)); 不然下次启动会报错quarkus默认启动时会先执行单元测试 数据持久化 在进行这一步之前建议把我们本地的容器服务启动(docker或podman)起来看看接下来会发生什么 创建PanacheEntiry quarkus extension add hibernate-orm-panache jdbc-postgresql 或者 ./mvnw quarkus:add-extension -Dextensions‘hibernate-orm-panache jdbc-postgresql’ 官方示例提供的是postgresql你也可以替换为mysql。 创建一个Greeting.java import io.quarkus.hibernate.orm.panache.PanacheEntity; import jakarta.persistence.Entity;Entity public class Greeting extends PanacheEntity {public String name; }Panache是一个基于Hibernate的orm框架PanacheEntity类似于Spring-Data中的JpaRepository中提供了大量的方法方便我们进行CRUD的操作 写入数据 GET Transactional Produces(MediaType.TEXT_PLAIN) public String hello(QueryParam(name) String name) {Greeting greeting new Greeting();greeting.name name;greeting.persist();return Hello name; }这里只是一个示例在正式的代码中GET请求不应该向后端服务写入数据 读取数据 GET Path(names) Produces(MediaType.TEXT_PLAIN) public String names() {ListGreeting greetings Greeting.listAll();String names greetings.stream().map(g- g.name).collect(Collectors.joining (, ));return Ive said hello to names; }来试一下效果, 先访问 http://localhost:8080/hello?nameBloom, 再访问 http://localhost:8080/hello/names. 我们就能看到: “I’ve said hello to Bloom”. Dev Service 进行到这里你肯定会有很多疑问我本地都没有PG数据库项目中也没有任何数据库相关的配置为什么没有报错这一切都是怎么发生的 这时你可以打开自己的Docker desktop或者使用docker ps的命令你就会发现有一个PG的数据库实例正在运行 % docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 38c07eab6549 postgres:14 docker-entrypoint.s… About a minute ago Up About a minute 0.0.0.0:61089-5432/tcp kind_yalow 这一切都是Dev Service为我们做的由于我们添加了jdbc-postgresql的依赖Dev Service就为我们启动了一个postgresql的容器方便我们更加快速的进行项目搭建。 另外在dev模式下处于Dev Services管理的数据库Quarkus会使用drop-and-create的模式所以我们每次修改代码重启服务之后之前保存的数据都会丢失。在某些情况下这种模式会很不方便Quarkus也提供了一种机制来进行数据的初始化 我们可以创建一个sql文件src/main/resources/import.sql INSERT INTO Greeting(id, name) VALUES (nextval(Greeting_SEQ), Alice); INSERT INTO Greeting(id, name) VALUES (nextval(Greeting_SEQ), Bob);这样每次quarkus启动时都会将这些数据初始化进去 使用外部数据库 如果我们已经搭建好了一个数据库我们可以在src/main/resources/application.properties中增加如下配置 # configure your datasource quarkus.datasource.db-kind postgresql quarkus.datasource.username leopold quarkus.datasource.password bloom quarkus.datasource.jdbc.url jdbc:postgresql://localhost:5432/mydatabase区分dev和prod 如果你想在开发和测试环境中使用Dev Service在生产环境使用外包数据库可以通过一个%prod的前缀来区分 # configure your datasource %prod.quarkus.datasource.db-kind postgresql %prod.quarkus.datasource.username leopold %prod.quarkus.datasource.password bloom %prod.quarkus.datasource.jdbc.url jdbc:postgresql://localhost:5432/mydatabase构建native应用依赖Graalvm Quarkus一大亮点是对native-image有着非常好的支持想要体验native-image需要先安装Graalvm你可以通过官网或者SDKMAN进行安装和配置。 quarkus build --native ./mvnw install -Dnative编译的过程会比较长编译完成之后会在target文件夹下生成一个getting-started-dev-services-1.0.0-SNAPSHOT-runner的可执行文件可以直接启动。 需要注意的是通过native构建出来的可执行程序会失去跨平台的特性因此在一个平台上构建出来的native-image往往无法在其他平台运行最好的方式是通过docker等容器进行部署。 目前Graalvm有一个实验性的功能在Linux平台来构建跨平台的应用具体可以参考 https://www.graalvm.org/jdk21/reference-manual/native-image/guides/build-static-executables/#prerequisites-and-preparation
http://www.w-s-a.com/news/409502/

相关文章:

  • 网站建设企业号助手贵阳景观设计公司
  • 网站开发第三方建设银行个人网站显示不了
  • 无锡兼职做网站郑州网站建设搜索优化
  • iis禁止通过ip访问网站品牌策划案例ppt
  • 电子商务网站建设实习seo黑帽优化
  • 如何做好网站建设销售闸北集团网站建设
  • 重庆装饰公司北京官网seo推广
  • 深圳网站设计灵点网络品牌网站充值接口
  • 建设书局 网站国内国际时事图片
  • 成都 网站建设培训学校屏蔽wordpress自带编辑器
  • 公司网站制作工作室中天建设集团有限公司第五建设公司
  • 网站的网页设计毕业设计苏州宣传册设计广告公司
  • 商城网站优化方案注册公司制作网站
  • 政务服务网站建设整改报告wordpress的导航代码
  • 图片素材网站建设做教育网站用什么颜色
  • 快站淘客中转页wordpress商业插件
  • 可信网站网站认证免费软件下载网站免费软件下载网站
  • 小学生网站制作最新域名网站
  • 奖励网站代码设计制作ppt时
  • 茂名优化网站建设门户网站和部门网站的区别
  • 一尊网 又一个wordpress站点wordpress获取当前文章名称
  • 营销型网站多少钱新建网站的外链多久生效
  • 网站空间怎么选择tp5企业网站开发百度云
  • 网站建设saas排名成立公司的流程和要求及费用
  • 网站建设共享骨科医院网站优化服务商
  • 肯尼亚网站域名万能进销存软件免费版
  • 做商城网站价格上海做网站建设
  • 广州制作外贸网站公司阿里云网站模板
  • 做网站为什么要买服务器十堰城市建设网站
  • 西安网站seo技术厂家东莞如何制作免费的网页