![](https://img-blog.csdnimg.cn/20190403085935387.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
Kotlin后端开发
文章平均质量分 55
分享最新后端开发技术,专注Kotlin
蓝不蓝编程
厦门大学计算机专业|前华为工程师
展开
-
Kotlin获取一天的开始和结束时间
/**获取一天的开始时间*/fun getStartOfDay(): Date {val startOfDay = LocalDateTime.of(LocalDate.now(), LocalTime.MIN)return Date.from(startOfDay.atZone(ZoneId.systemDefault()).toInstant())}/**获取一天的结束时间*/fun getEndOfDay(): Date {val endOfDay = LocalDateT原创 2020-07-28 19:30:21 · 1090 阅读 · 0 评论 -
Java/Kotlin 最多保留两位小数处理方法
用途保留最多两位小数,舍弃末尾的0.样例:3.345->3.343.40->3.43.0->3Java代码public class NumberUtil { /** * 把金额从分为单位,转化为元为单位,保留最多两位小数(舍弃末尾的0) */ public String getMoneyByYuan(long moneyByFen...原创 2020-03-12 15:00:40 · 12887 阅读 · 0 评论 -
IDEA+SpringBoot实现热部署(代码修改后实时生效)(hot reload/live reload)
1. 修改pom.xml在project->dependencies下添加spring-boot-devtools依赖在project->build->plugins下添加spring-boot-maven-plugin插件具体样例如下:<project > ... <dependencies> ... ...原创 2020-03-05 09:27:33 · 3457 阅读 · 1 评论 -
IDEA中设置maven阿里云镜像
背景maven下载依赖库太慢了.解决方案设置阿里云镜像.打开IDEA设置界面,搜索maven,勾选“User settigns file”后面的复选框在对应路径下新建settings.xml文件,内容如下:<?xml version="1.0" encoding="UTF-8"?><settings xmlns="http://maven.apache.org...原创 2020-03-03 18:14:19 · 5769 阅读 · 0 评论 -
阿里云申请免费https证书及部署全过程介绍
操作步骤阿里云申请https证书访问 云盾证书服务,选择“免费行DV SSL”申请完证书,下载下来(一个key文件,一个pem文件)转为jks格式openssl pkcs12 -export -inkey mydomain.key -in mydomain.pem -name server -out server.p12设置密码(要记录下来,后面要用),上面命令中“server”...原创 2019-05-23 15:20:59 · 1099 阅读 · 0 评论 -
ktor配置https证书
配置步骤application.conf中配置https端口和证书相关信息ktor { deployment { port = 8080 sslPort = 8443 watch = ["xxxServer"] } application { modules = [com.cxyzy.xxx.ApplicationKt.module] }...原创 2019-05-22 20:02:31 · 841 阅读 · 0 评论 -
ktor单元测试报错:org.koin.core.error.KoinAppAlreadyStartedException: A Koin Application has already been
背景介绍采用ktor、koin的服务端程序,在执行单元测试时报错.为了进行登陆后的操作,需要先登陆获取token,再去调用其他的接口.代码class NoteTest { @Test fun testAddNote() { withTestApplication({ module(testing = true) }) { val t...原创 2019-05-07 14:21:34 · 1116 阅读 · 0 评论 -
ktor结合JWT进行用户身份认证
简要介绍JWT全称:JSON Web Token,是当前使用非常广泛的跨域身份验证方案. 本文介绍在ktor中如何使用JWT.使用步骤build.gradle中添加依赖(maven也类似)compile "io.ktor:ktor-auth-jwt:$ktor_version"添加认证类:Authobject Auth { private const val SECR...原创 2019-05-04 11:33:54 · 1902 阅读 · 1 评论 -
ktor热部署(Automatic Reloading)
简要介绍在开发过程中,如果修改了文件,必须要重启容器,那效率就太低了. 本文介绍一下使用ktor时,如何实现热部署(Automatic Reloading),仅限类,不包括配置文件.操作步骤application.conf配置(如果是通过代码配置的服务器启动参数,请参考附录中官方指导)在deployment节点下增加watch,里面放本工程目录名,ktor会根据这个目录名来过滤要热部署...原创 2019-05-04 11:09:04 · 1180 阅读 · 0 评论 -
ktor生成可独立发布jar包(通过shadow打包)
ktor简要介绍见利用Ktor+KMongo打造全栈异步非阻塞后端架构如何打包开发出了版本,除了本地运行,再就是要打包发布.ktor也支持几种打包方式,如war、jar.本文介绍如何生成jar包.操作步骤一、build.gradle配置:repositories增加classpath 'com.github.jengelman.gradle.plugins:shadow:5.0...原创 2019-04-17 19:11:37 · 1678 阅读 · 0 评论 -
ktor启动报错:Module function cannot be found for the fully qualified name 'ApplicationKt.module'
背景使用Ktor开发服务端,启动时报错:Exception in thread "main" java.lang.ClassNotFoundException: Module function cannot be found for the fully qualified name 'ApplicationKt.module' at io.ktor.server.engine.Appl...原创 2019-04-17 17:14:43 · 933 阅读 · 0 评论 -
Kotlin编译报错:Error:Kotlin: [Internal Error] java.lang.IllegalStateException: Backend Internal error
IDE版本IntelliJ IDEA 2018.2.2解决方案升级IDE版本到 2019.1详细报错信息Error:Kotlin: [Internal Error] java.lang.IllegalStateException: Backend Internal error: Exception during code generationCause: Back-end (JVM) ...原创 2019-04-04 16:28:34 · 7194 阅读 · 2 评论 -
第一个Ktor程序
1. 为IntelliJ IDEA安装插件2. 新建工程3. 选择自动导入4. 修改Application.kt内容import io.ktor.application.*import io.ktor.response.*import io.ktor.routing.getimport io.ktor.routing.routingfun main(args: Array&...原创 2019-04-03 19:24:39 · 645 阅读 · 0 评论 -
利用Ktor+KMongo打造全栈异步非阻塞后端架构
简要介绍2017年Spring推出了WebFlux,填补了Java世界没有异步非阻塞架构的尴尬(nodejs正式靠着这个起家的),同时联合响应式数据库(MongoDB、Redis、Apache Cassandra、CouchDB)可以打造后端全栈异步非阻塞架构,其中采用Reactor作为异步执行基础.但是把玩了一段时候后,发现响应式的程序真是让人废啊.如果没有接触的可以看看《响应式编程(Reac...原创 2019-04-03 16:43:48 · 1719 阅读 · 0 评论 -
Kotlin函数默认值完全解析
简要介绍Kotlin函数定义时,支持对参数指定默认值,这样就有效减少Java之前定义重载函数的数量.简要对比如下:Java函数定义,如果sayHelloTo函数中的lastName可以使用默认值,则需要定义如下两个函数.public class Person { public void sayHelloTo(String firstName,String lastName){...原创 2019-04-03 13:52:40 · 1801 阅读 · 0 评论 -
kotlin拷贝内容到剪贴板
import java.awt.datatransfer.StringSelectionimport java.awt.Toolkitfun copyToClipboard(info: String) { val clipboard = Toolkit.getDefaultToolkit().systemClipboard val tText = StringS...原创 2019-04-02 13:44:47 · 1405 阅读 · 0 评论