Ktor快速上手1 - 第一个服务端项目

news2024/12/27 15:28:16

Ktor 快速上手

第一个APP

工程创建

首先你需要创建一个Ktor工程,这里有两种办法创建:

  1. 网页创建后下载包到本地,作为工程打开:Ktor: Project Generator
  2. 直接在IDEA里面创建Ktor工程

为了方便操作,这里直接在IDEA里面生成Ktor工程;

IDEA版本为2024.1

选择创建新项目,按照下图所示操作,但要注意以下几个关键点:

  1. Ktor版本不宜过高,有些库还不支持这么高的版本,建议选择2.3.12就好了
  2. 配置文件使用经典的YAML,方便管理
  3. 构建系统推荐使用Gradle(当然你用Maven也不是不可以哈)

进入“下一步”,选择Ktor所需要用到的插件,这个插件就相当于Springboot的库;

我们目前对于基础项目,只需要以下三个库即可:

  1. call logging :日志库
  2. default header :网络请求头库
  3. routing :RESTful风格请求库,类似于Springboot Web库

工程运行

首先修改一下配置文件中服务器的运行端口,默认的8080大概率会被占用;

我这里改成了10002

ktor:
  application:
    modules:
      - com.example.ApplicationKt.module
  deployment:
    port: 10002

配置完毕后就可以正常运行了;

  1. 直接去程序入口点Application.kt运行main函数
  2. 点击IDEA上方工具栏的运行按钮运行

打开网页:127.0.0.1:10002

你就会发现显示了“Hello World!”字样,这就算配置完成了!!!

Gradle 打包

Docker - 快速入门 - Ktor (kotlincn.net)

对于ktor而言,推荐使用的包管理工具为Gradle,最好不要使用Maven;

若您的工程使用了Gradle,则可以在idea的右侧栏找到Gradle按钮,按照下图所示找到shadowJar后双击运行它即可;

此操作会在项目根目录的 build/libs 下生成打包好的后端Jar包;

该文件夹下会生成两个包,一个是需要依赖的,一个是不需要依赖的,我们移植到Docker上的一般会选择不需要依赖的Jar包(也就是后缀为-all的那个)

您可以在windows下使用命令行运行此Jar包: java -jar xxx.jar

END

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2180380.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringAOP学习

面向切面编程&#xff0c;指导开发者如何组织程序结构 增强原始设计的功能 oop:面向对象编程 1.导入aop相关坐标&#xff0c;创建 <!--spring依赖--><dependencies><dependency><groupId>org.springframework</groupId><artifactId>spri…

数学建模研赛总结

目录 前言进度问题四分析问题五分析数模论文经验分享总结 前言 本文为博主数学建模比赛第五天的内容记录&#xff0c;希望所写的一些内容能够对大家有所帮助&#xff0c;不足之处欢迎大家批评指正&#x1f91d;&#x1f91d;&#x1f91d; 进度 今天已经是最后一天了&#xf…

MySQL 慢查询日志:洞察性能瓶颈的利器

在 MySQL 数据库的管理和优化中&#xff0c;慢查询日志是一个非常有用的工具。它可以帮助我们找出执行时间较长的查询语句&#xff0c;从而针对性地进行优化&#xff0c;提高数据库的性能。那么&#xff0c;什么是 MySQL 的慢查询日志呢&#xff1f;又该如何配置和使用它呢&…

广西容县霞烟鸡,品牌兴农,助力乡村振兴!

在两广与港澳地区,流传着一句深入人心的饮食谚语——“无鸡不成宴”,它不仅是一种习俗的体现,更是对餐桌礼仪与待客之道的深刻诠释。每逢家宴欢聚、祭祖庆典或盛宴宾客,一只精心烹制的鸡总是不可或缺的主角,其缺席往往被视为对宾客的不敬。在这片美食文化的沃土上,广西容县的霞…

spark-sql建表数据同步到hive

1、基础环境 组件版本备注hadoop3.4.0官方下载hive3.1.3自编译sparkspark-3.5.3-bin-hadoop3官方下载&#xff0c;需要内置hive的jar相关内容paimon0.9.0Maven官方下载jdk1.8.0_41maven3.9.6固定版本 2、停止服务、清理日志 先停止&#xff0c;清理数据 sudo kill -9 $(ps -ef…

kafka 换盘重平衡副本 操作流程

一、起因 kakfa某块数据盘损坏&#xff0c;且数据无法恢复&#xff0c;需清空换新盘 二、梳理操作流程 查看topic信息 sh ./kafka-topics --bootstrap-server ***:9092 --list --exclude-internal 查看某个topic数据分布情况 sh ./kafka-topics --bootstrap-server ***:…

vscode+stfp插件,实现远程自动同步文件代码

概述 远程同步代码&#xff0c;将本地代码实时保存到同一局域网内的另一台电脑&#xff08;linux系统&#xff09;&#xff0c;这里的本地代码也可以是远程服务上的代码&#xff0c;即从一个远程ip同步到另一台远程ip服务器。 工具 vscode&#xff0c;SFTP插件 安装 vscod…

优可测白光干涉仪:激光陀螺仪提升良率与精度的关键

在当今科技日新月异的时代&#xff0c;高精度导航与定位技术已成为航空航天、军事防御、海洋勘探、自动驾驶乃至日常生活中不可或缺的一部分。而在这背后&#xff0c;激光陀螺仪作为核心元件之一&#xff0c;以其卓越的稳定性和极高的精度&#xff0c;正引领着导航技术的新一轮…

Java设计模式概述

设计模式&#xff08;Design pattern&#xff09;代表了最佳的实践&#xff0c;通常被有经验的面向对象的软件开发人员所采用。设计模式是软件开发人员在软件开发过程中面临的一般问题的解决方案。这些解决方案是众多软件开发人员经过相当长的一段时间的试验和错误总结出来的。…

python 自定义多线程的传参方式是什么

在 Python 中&#xff0c;threading 模块提供了多线程编程的支持&#xff0c;允许我们通过创建线程类的方式来实现并发操作。当我们自定义线程类时&#xff0c;可以通过修改类的构造方法和运行逻辑来传递和处理参数。 以下面这个实际的代码片段为例来说明&#xff1a; import…

BootROM清除密码

目录 一、组网需求 二、操作步骤 1. console连接设备 2.重启设备 3. 进入BootROM菜单 a. 选择第4项&#xff0c;进入Startup Select菜单 查看系统使用的配置信息 重命名系统使用的配置文件 启动设备 停止Auto-Config 将重命名的配置文件改为可执行文件 恢复配置 重…

迈巴赫 S480 的奢华升级之旅头等舱行政独立 4 座

《迈巴赫 S480 的奢华升级之旅&#xff1a;头等舱行政独立 4 座》 迈巴赫 S480&#xff0c;作为豪华轿车的典范&#xff0c;一直以来都以其卓越的品质和尊贵的体验而备受推崇。而对于那些追求极致奢华与舒适的车主来说&#xff0c;将其升级为头等舱行政独立 4 座的配置&#x…

使用WebClient 快速发起请求(不使用WebClientUtils工具类)

使用WebClient发起网络请求_webclient工具类-CSDN博客文章浏览阅读717次&#xff0c;点赞9次&#xff0c;收藏8次。使用WebClient发起网络请求_webclient工具类https://blog.csdn.net/qq_43544074/article/details/137044825这个是使用工具类发起的&#xff0c;下面就不使用工具…

Chrome浏览器的C++内存管理技术揭秘

Chrome浏览器作为全球最流行的网络浏览器之一&#xff0c;其高效的内存管理技术功不可没。本文将深入探讨Chrome浏览器在C中的内存管理技术&#xff0c;并介绍如何通过调整网页加载时间、优化视频播放体验和解决谷歌浏览器占用CPU过高的问题来提升浏览器性能。 &#xff08;本…

生产绩效考核管理的六大指标

生产绩效考核管理的六大指标 绩效考核是指生产部所有人员通过不断丰富自己的知识、提高自己的技能、改善自己的工作态度&#xff0c;努力创造良好的工作环境及工作机会&#xff0c;不断提高生产效率、提高产品质量、提高员工士气、降低成本以及保证交期和安全生产的结果和行为…

E35.【C语言】判断大/小端序

1.题目 写一个程序实现大/小端序的判断 2.前置知识 见文61.【C语言】数据在内存中的存储 见文65.【C语言】联合体 3.代码 方案一 对于单个变量,判断存储的第一个字节 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> int main() {int a 2;if ((*(char*)&…

七星创客:重塑商业模式认知

近期&#xff0c;一个普遍存在的疑问困扰着许多人&#xff1a;“商业模式是否仅仅等同于拉人头或传销活动&#xff1f;”这样的联想或许源于对商业模式概念的片面理解&#xff0c;使得一些人错误地将所有商业模式都笼罩在负面阴影之下。 商业模式&#xff0c;这一商业领域的核心…

两千价位段最亮的激光投影仪?当贝D6X高亮版卷出新高度

当贝D6X系列作为当贝投影上半年发布的重磅新品&#xff0c;其最大的亮点就是采用了AI双屏设计&#xff0c;首创的AI“灵动屏”&#xff0c;不仅颜值吸睛&#xff0c;而且功能多样&#xff0c;一经发布就引发热议。其中&#xff0c;采用三色激光的当贝D6X&#xff0c;因其出色的…

荣耀问鼎!宏山激光斩获2024年度行业创新大奖

8月28日&#xff0c;由高科技行业门户OFweek维科网主办的“维科杯OFweek2024激光行业年度评选”于中国深圳成功举办。宏山激光凭借出类拔萃的技术创新实力与卓越品质&#xff0c;成功斩获“维科杯OFweek2024年度激光行业最佳智能装备/自动化产线技术创新奖”。 这一殊荣绝非偶然…

流水线并行(Pipeline Parallelism)原理详解

文章目录 0. 概览1. 简单流水并行2. GPipe 算法3. GPipe 空间复杂度4. PipeDream 算法5. 总结参考 0. 概览 数据并行&#xff08;Data Parallelism&#xff09;&#xff1a;在不同的GPU上运行同一批数据的不同子集&#xff1b; 流水并行&#xff08;Pipeline Parallelism&…