SpringBoot在Kotlin中的实现(一)】的更多相关文章

根据现在的开发模式和网上的一些资料,SpringBoot需要对业务和操作进行分层,通常分为controller.entity.service.respository等结构.下面以Kotlin官网的例子,讲解在分层的时候,需要做什么配置. 1.在包com.SpringBootUseKotlin中新建包entity,添加新的class,命名为People package com.kotlinSpringBoot.entity import java.util.* import javax.persi…
本节记录如何用Kotlin初步搭建一个SpringBoot的环境(使用Gradle自动化构建工具). 1.新建一个Gradle的Kotlin 配置完成后,build.gradle的配置如下: buildscript { ext.kotlin_version = '1.2.0' repositories { mavenCentral() } dependencies { //Kotlin Gradle插件 classpath "org.jetbrains.kotlin:kotlin-gradle-…
原文标题:Variables in Kotlin, differences with Java. var vs val (KAD 02) 作者:Antonio Leiva 时间:Nov 28, 2016 原文链接:http://antonioleiva.com/variables-kotlin/ Kotlin系列课程的第二课:Kotlin中变量不同于Java: var 对val. 在这第二章节中,我们将了解Kotlin中变量是怎样工作的,什么是val和var,什么时间使用它们. 我从这开始,是因…
问题 这两天遇到SpringBoot拦截器中Bean无法注入问题.下面介绍我的思考过程和解决过程: 1.由于其他bean在service,controller层注入一点问题也没有,开始根本没意识到Bean无法注入是在拦截器中无效的问题,一直在查找注解指定的包在哪里配置的,然而却找不到配置,Springboot是用java类的形式加载配置的.在网络的某个角落看到这样的说法: SpringBoot项目的Bean装配默认规则是根据Application类所在的包位置从上往下扫描!"Applicatio…
原文地址:spring-boot的spring-cache中的扩展redis缓存的ttl和key名 前提 spring-cache大家都用过,其中使用redis-cache大家也用过,至于如何使用怎么配置,本篇就不重点描述了.本篇主要解决2个问题,第一个问题使用redis做缓存时对每个key进行自定义的过期时间配置,第二个使用redis做缓存时@Cacheable(value = "value", key = "#p0") ,最后生成的key会在value和p0中间…
java命令运行springboot jar文件,指定配置文件可使用如下两个参数中其中一个 --spring.config.location=配置文件路径 -Dspring.profiles.active=配置文件名称后缀 配置文件目录如下 application.properties和logback-spring.xml为打包后springboot默认读取的配置 applicaiton-dev.properties和logback-spring-dev.xml为开发环境中使用的配置 在ecli…
1.概述 有时项目里里需要抽取不同系统中的数据源,需要访问不同的数据库,本文介绍在Springboot+Mybatis项目中如何支持多数据源操作. 有需要的同学可以下载 示例代码 项目结构如下: 2.建数据源 首先,我们建两个测试库 test1 test2,分别建两个表,分别添加一些测试数据 CREATE TABLE `groupidinfo` ( `id` ) NOT NULL AUTO_INCREMENT, `groupId` ) DEFAULT NULL, `version` ) DEFA…
1. 在Kotlin中不会将基本数据类型的自动转型比如 scriptIntrinsicBlur.setRadius(25) //报错, 必须写成 25f 或者 调用.toFloat() 2.Kotlin中 var s: Int? = null //在Kotlin中Int这样子的类型是可以为null的 3.关于判空 ?. 和 !!. 的区别 ?.    //kotlin: a?.run() //与java相同: if(a!=null){ a.run(); } !!.   //kotlin: a!!…
int a = 10;int b = 11;int c = a > b ? a : b; 到了 kotlin中 val a = 10val b = 11val c = if (a > b) a else b…
code 1 fun main(args: Array<String>) { val a : Int = 1000 println(a == a) //true println(a === a) //true val a1 : Int = a val a2 : Int = a println(a1 == a2) //true println(a1 === a2) //true } code 2 fun main(args: Array<String>) { val a : Int…
SpringBoot拦截器中无法注入bean的解决方法 在使用springboot的拦截器时,有时候希望在拦截器中注入bean方便使用 但是如果直接注入会发现无法注入而报空指针异常 解决方法: 在注册拦截器时,将拦截器注入为bean 代码: @Configuration public class InterceptorRegister extends WebMvcConfigurerAdapter { //以这种方式将拦截器注入为一个bean,可以防止拦截器中无法注入bean的问题出现 @Bea…
常量 Java中: class StaticDemoActivity { public static final String LOAN_TYPE = "loanType"; public static final String LOAN_TITLE = "loanTitle"; } Kotlin中: class StaticDemoActivity { companion object { val LOAN_TYPE = "loanType"…
之前写了一篇Kotlin中常量和静态方法的文章,最近有人提出一个问题,在companion object中调用外部的成员变量会调用不到,这才意识到问题,本篇文章会带着这个疑问来解决问题. 一. object关键字 object 关键字可以表达两种含义:一种是对象表达式,另一种是 对象声明. 1.对象表达式 继承一个匿名对象 val textView = findViewById<TextView>(R.id.tv) textView.setOnClickListener(object : On…
Junit这种老技术,现在又拿出来说,不为别的,某种程度上来说,更是为了要说明它在项目中的重要性. 凭本人的感觉和经验来说,在项目中完全按标准都写Junit用例覆盖大部分业务代码的,应该不会超过一半. 刚好前段时间写了一些关于SpringBoot的帖子,正好现在把Junit再拿出来从几个方面再说一下,也算是给一些新手参考了. 那么先简单说一下为什么要写测试用例 1. 可以避免测试点的遗漏,为了更好的进行测试,可以提高测试效率 2. 可以自动测试,可以在项目打包前进行测试校验 3. 可以及时发现因…
在Kotlin中 使用js 函数 import javax.script.Invocable import javax.script.ScriptEngineManager fun main(args: Array<String>) { val engine = ScriptEngineManager().getEngineByName("nashorn") val js = """ function rebate(price, sale_co…
[From] https://segmentfault.com/a/1190000006749441 SpringBoot RESTful 应用中的异常处理小结 永顺 2016年08月29日发布 赞  |   6收藏  |  15 8.8k 次浏览 @ControllerAdvice 和 @ExceptionHandler 的区别 ExceptionHandler, 方法注解, 作用于 Controller 级别. ExceptionHandler 注解为一个 Controler 定义一个异常处…
作者:Antonio Leiva 时间:Mar 28, 2017 原文链接:https://antonioleiva.com/lambdas-kotlin-android/ 虽然,我在其它文章讲过一点Lambda表达式,我愿意更深层次解释Kotlin中Lambda表达式是怎样工作的,以及当我们用Java库时,他们是怎样以Lambda表达式的单一方法转换接口. 特别是我要给出一些例子解释怎样简化Android框架的用法,我们还将详细看到Android视图的setOnClickListener. S…
原文:https://my.oschina.net/u/1790105/blog/1490098 这两天遇到SpringBoot拦截器中Bean无法注入问题.下面介绍我的思考过程和解决过程: 1.由于其他bean在service,controller层注入一点问题也没有,开始根本没意识到Bean无法注入是在拦截器中无效的问题,一直在查找注解指定的包在哪里配置的,然而却找不到配置,Springboot是用java类的形式加载配置的.在网络的某个角落看到这样的说法: SpringBoot项目的Bea…
作者:Antonio Leiva 时间:Feb 23, 2017 原文链接:https://antonioleiva.com/when-expression-kotlin/ 在Java(特别是Java 6)中,switch表达式有很多的限制.除了针对短类型,它基本不能干其他事情. 然而,Kotlin中when表达式能够干你想用switch干的每件事,甚至更多. 实际上,在你的代码中,你可以用when替换复杂的if/else语句. Kotlin的when表达式 开始,你可以像switch那样使用w…
作者:Antonio Leiva 时间:Feb 2, 2017 原文链接:https://antonioleiva.com/functional-operations-collections-kotlin/ 对于我来说,我必须承认用Java代码处理列表是最令人沮丧的事之一. 在这方面,虽然Java 8利用数据流(Stream)已经有了一些提升,但是如我们早前看到的我们怎样利用高阶函数压缩代码那样,Kotlin语法极大地简化这个过程. Kotlin中集合的功能操作 虽然我不向你展示所有已有的操作(…
为了应对在SpringBoot中的高并发及优化访问速度,我们一般会把页面上的数据查询出来,然后放到redis中进行缓存.减少数据库的压力. 在SpringBoot中一般使用 thymeleafViewResolver.getTemplateEngine().process("goodlist", ctx); 进行页面的渲染,而这个ctx就是SpringWebContext对象,我们一般进行如下获取: SpringWebContext swc=new SpringWebContext(r…
Kotlin 中文文档 标签: Kotlinkotlin中文文档 2017-02-14 18:14 4673人阅读 评论(0) 收藏 举报  分类: kotlin 转载地址:http://www.tuicool.com/articles/faqyMzE gitbook 墙内访问速度很糟糕 现在有了 墙内地址 啦 :) 国内服务器由 掘金 赞助 稀土掘金:挖掘最优质的互联网技术 / 联合编辑每日精选内容 / 移动端优质阅读体验 本书源码在github pd下载 ePub下载 记得要点 star s…
用了一段时间kotlin,越用越觉得好用,爱不释手啊,留点笔记. Kotlin 中,在类中定义的对象(object)声明,可使用 companion 修饰,这样此对象(object)就是伴生对象了.类似于Java中的 public static class NumberTest { companion object Obj { var flag = false fun plus(num1: Int, num2: Int): Int { return num1 + num2 } } } 每个类可以…
本文首发于 vivo互联网技术 微信公众号 链接:https://mp.weixin.qq.com/s/UV23Uw_969oVhiOdo4ZKAw作者:连凌能 Kotlin,已经被Android官方宣布 kotlin first 的存在,去翻 Android 官方文档的时候,发现提供的示例代码已经变成了 Kotlin.Kotlin的务实作风,提供了很多特性帮助开发者减少冗余代码的编写,可以提高效率,也能减少异常. 本文简单谈下Kotlin中的函数,包括表达式函数体,命名参数,默认参数,顶层函数…
好用的集合扩展方法: 下面来看一下对于集合中好用的一些扩展方法,直接上代码: 如果我们想取出集合中的第一个值和最后一个值,用Java方式是get(0)和get(size-1),但是在Kotlin中提供有现成的方法,如下: 其中看一下它的定义,就是标准的扩展方法的定义: 另外如果想过滤元素在之前也已经用过了,用filter,比如如果想取出偶数的元数,如下: 简单看一下它的定义: 下面再来定义一个集合: 看一下它的定义: 运行一下: 接着继续: 看下它的定义: 也就是如果第一个元素或是最后一个元素为…
在kotlin中,也有类似的功能,但不是匿名类,而是对象,需要使用object关键字,对象要继承的列需要与object之间的冒号(:)分隔. fun main(arg: Array<String>) { process(MyClass("bill"))//输出verify process(object : MyClass("bill") { override fun verify() { super.verify()//输出verify println(…
SpringBoot 在IDEA中实现热部署(实用版) 引用:https://www.jianshu.com/p/f658fed35786 好的热部署让开发调试事半功倍,这样的“神技能”怎么能错过呢, 使用过IDEA的童鞋赶紧进来撸一把吧. 学习目标 快速学会在项目中使用热部署插件运行项目,提高开发效率. 快速查阅 相关教程: IDEA快速入门教程(2018图文版) 专题阅读:<SpringBoot 布道系列> 具体步骤 一.开启IDEA的自动编译(静态) 具体步骤:打开顶部工具栏 File…
SpringBoot 集成MyBatis 中的@MapperScan注解 2018年08月17日 11:41:02 文火慢炖 阅读数:398更多 个人分类: 环境搭建 在SpringBoot中集成MyBatis,可以在mapper接口上添加@Mapper注解,将mapper注入到Spring,但是如果每一给mapper都添加@mapper注解会很麻烦,这时可以使用@MapperScan注解来扫描包. 经测试发现,@MapperScan注解只会扫描包中的接口,不会扫描类,所以可以在包中写Provi…
很多同学刚上手使用Kotlin知道它有针对Java NullPointerException的管理,而在Kotlin中?和!!均是和NullPointerException有关系,可他们的区别到底是什么呢?为什么别人开发的项目中出现了好多"?",而我读起来却满脸问号.     不懂就问百度呀,确实有人解释它们的区别,比如:     这是输入"kotlin ?和!!"搜索到的百度第一条答案,确实这位说的没错.不过我觉得对于一个刚接触KT(Kotlin)的新手来说,他恐…
kotlin中使用Handler jumpToPayHandler = Handler { var questionformModel = QuetionFormModel(2, spinner.text.toString(), typePrice, editDesc.text.toString(), typeId, uploadData, uploadVideo, telephone.text.toString()) // RouterUtils.toPayQuestionActivity(q…