IDEA中文输入法的智能提示框不会跟随光标的问题

我用的开发工具是IDEA

这个版本的IDEA有一个问题;
就是中文输入法的智能提示框不会跟随光标
解决这个问题的办法很简单,只有在安装目录下把JRE文件夹改个名字,或者直接删掉就可以了
这样做了之后,IDEA就会自动使用你系统的JRE环境
我系统用的是jdk1.8.0_131;
如果你没有设置你的环境变量,那么现在可以设置一下:
先在系统变量里加一个JAVA_HOME变量,指向你的JDK目录
 然后再在path变量里加上如下记录
这样改完,中文输入法就可以跟随光标了;
注意,不建议用jdk9.0.1(我在这上面踩过坑,记得是gradle不认这个版本的JDK,不得已又滚回了JDK1.8)

使用spring boot官网的工具构建工程

选择创建一个gradle的工程
使用kotlin编程语言
使用最高的2.0.0的spring boot框架
工程的Group一般的格式如下:
com.baidu.projectname
工程的Artifact一般直接填写工程的名字
依赖项很重要,我们的项目使用如下依赖项:
  • Web:包含所有spring mvc,tomcat需要的东西(spring boot是基于spring mvc的);
  • DevTools:srping boot的开发工具,比如“热部署”等
  • JPA:ORM框架
  • MySQL:mysql的JDBC驱动
  • Actuator:应用配置及应用监控工具
  • Freemarker:页面模版引擎,有点类似ASP.NET MVC的razor
最终选择的结果如下:
然后点击生成项目,这时你会得到一个压缩包
解压之后,用IDEA打开解压目录
然后IDEA会下载一堆库
最后会得到下面这个工程:
注意:
运行上面的工程,IDEA会提示报错信息
Cannot determine embedded database driver class for database type NONE
这主要是还没做好配置工作导致的

gradle配置

先来看看gradle的配置文件:build.gradle(在项目根目录下)
其中dependencies节是依赖项配置:
注意:以下代码都是自动生成的不用做任何修改,此处只是解释一下配置内容
dependencies {
compile('org.springframework.boot:spring-boot-starter-actuator')
compile('org.springframework.boot:spring-boot-starter-data-jpa')
compile('org.springframework.boot:spring-boot-starter-freemarker')
compile('org.springframework.boot:spring-boot-starter-web')
compile("org.jetbrains.kotlin:kotlin-stdlib-jre8")
compile("org.jetbrains.kotlin:kotlin-reflect")
runtime('org.springframework.boot:spring-boot-devtools')
runtime('mysql:mysql-connector-java')
testCompile('org.springframework.boot:spring-boot-starter-test')
}
 我们简单介绍一下:
  • spring-boot-starter-actuator:SpringBoot的健康检监控组件的启动器
  • spring-boot-starter-data-jpa:JPA的启动器
  • spring-boot-starter-freemarker:freemarker的启动器
  • kotlin-stdlib-jre8:kotlin基于jre8的标准库
  • kotlin-reflect:kotlin反射库
  • spring-boot-devtools:spring-boot开发者工具,比如“热部署”等
  • mysql-connector-java:java的mysql链接工具
  • spring-boot-starter-test:spring-boot测试工具启动器

application.properties配置

接着我们打开application.properties(在src/main/resources目录下)
添加如下代码:
#data source
spring.datasource.url=jdbc:mysql://******.mysql.rds.aliyuncs.com:3306/yourDBName?characterEncoding=utf8&characterSetResults=utf8
spring.datasource.username=******
spring.datasource.password=******

spring.jpa.database=mysql
spring.jpa.show-sql=true
spring.jpa.hibernate.ddl-auto=update server.port=8000
spring.datasource.tomcat.test-while-idle=true
spring.datasource.tomcat.validation-query= Select 1
前面四句主要是数据库链接字符串
后面三句是为jpa设置的内容
server.port是说明服务将运行在什么端口
再次运行[yourName]Application.kt
调试区会出现一大堆调试信息
如果没有问题的话,最后一行调试信息如下
2017-12-23 12:24:43.220  INFO 460 --- [  restartedMain] com.ysl.jna.jna.JnaApplicationKt         : Started JnaApplicationKt in 7.447 seconds (JVM running for 8.208)
说明你的应用已经成功启动了;
倒数第二行调试信息如下:
2017-12-23 13:30:39.642  INFO 6788 --- [  restartedMain] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
你会看到spring boot帮你启动了tomcat,(你装了spring boot,他附送你一个tomcat,省的你自己装)

编写controller

就算你做完上述配置,但你访问http://localhost:8000/,依然得不到任何有用的信息
Whitelabel Error Page

This application has no explicit mapping for /error, so you are seeing this as a fallback.

Sun Dec 24 17:14:43 CST 2017
There was an unexpected error (type=Not Found, status=404).
No message available
注意:你的[projectname]Application.kt这个文件一定要在包目录的根目录下:
如下图所示:(要不然你连上述错误信息都得不到)
下面我们创建controller包
并添加HelloController类,代码如下:
package com.ysl.jna.controller

import org.springframework.web.bind.annotation.GetMapping
import org.springframework.web.bind.annotation.RestController

@RestController
class HelloController{
@GetMapping(value = *arrayOf("/hello","/"))
fun hello():Any{
return "hello"
}
}
然后重新编译一下工程
重新访问http://localhost:8000/
你将得到你想要的输出
hello
 


kotlin web开发教程【一】从零搭建kotlin与spring boot开发环境的更多相关文章

  1. Spring Boot从入门到精通(一)搭建第一个Spring Boot程序

    Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过 ...

  2. 新入手服务器不会玩?抢占式实例服务器教程,从零搭建tomcat超简流程

    新入手服务器不会玩?抢占式实例服务器教程,从零搭建tomcat超简流程 相信很多新人入手Linux服务器后,一脸无奈,这黑框框究竟能干啥?忽觉巨亏血亏不是? 这里面门道可不是你想象中的那么点,简则服务 ...

  3. spring boot 开发环境搭建(Eclipse)

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  4. 使用Spring Boot开发Web项目(二)之添加HTTPS支持

    上篇博客使用Spring Boot开发Web项目我们简单介绍了使用如何使用Spring Boot创建一个使用了Thymeleaf模板引擎的Web项目,当然这还远远不够.今天我们再来看看如何给我们的We ...

  5. Spring Boot——开发新一代Spring应用

    Spring官方网站本身使用Spring框架开发,随着功能以及业务逻辑的日益复杂,应用伴随着大量的XML配置文件以及复杂的Bean依赖关系.随着Spring 3.0的发布,Spring IO团队逐渐开 ...

  6. SpringBoot零XML配置的Spring Boot Application

    Spring Boot 提供了一种统一的方式来管理应用的配置,允许开发人员使用属性properties文件.YAML 文件.环境变量和命令行参数来定义优先级不同的配置值.零XML配置的Spring B ...

  7. 天天玩微信,Spring Boot 开发私有即时通信系统了解一下

    1/ 概述 利用Spring Boot作为基础框架,Spring Security作为安全框架,WebSocket作为通信框架,实现点对点聊天和群聊天. 2/ 所需依赖 Spring Boot 版本 ...

  8. Spring Boot 开发集成 WebSocket,实现私有即时通信系统

    1/ 概述 利用Spring Boot作为基础框架,Spring Security作为安全框架,WebSocket作为通信框架,实现点对点聊天和群聊天. 2/ 所需依赖 Spring Boot 版本 ...

  9. Spring Boot开发RESTful接⼝服务及单元测试

    Spring Boot开发RESTful接⼝服务及单元测试 常用注解解释说明: @Controller :修饰class,⽤来创建处理http请求的对象 @RestController :Spring ...

  10. 使用Spring boot开发RestFul 风格项目PUT/DELETE方法不起作用

    在使用Spring boot 开发restful 风格的项目,put.delete方法不起作用,解决办法. 实体类Student @Data public class Student { privat ...

随机推荐

  1. How to Quickly Create a Copy of a Table using Transact-SQL

    The easiest way to create a copy of a table is to use a Transact-SQL command. Use SELECT INTO to ext ...

  2. 【最新版】从零开始在 macOS 上配置 Lua 开发环境

    脚本语言,你可能更需要的是 Lua 不同的脚本语言有不同的特性,第一接触的脚本语言,可能会影响自己对整个脚本语言的理解和认知.我以前接触最多的脚本语言是 JavaScript.后果就是:我一度以为脚本 ...

  3. maven下的sqlserver配置jar包

    看了两天的maven,开始把之前做的ssm项目搭建成maven项目,结果在sqlserver的依赖包上受阻,sqlserver需要sqljdbc4.jar包,经过一系列百度教程才得以解决,现在总结一下 ...

  4. 小白必看Python视频基础教程

    Python的排名从去年开始就借助人工智能持续上升,现在它已经成为了第一名.Python的火热,也带动了工程师们的就业热.可能你也想通过学习加入这个炙手可热的行业,可以看看Python视频基础教程,小 ...

  5. python 小白(无编程基础,无计算机基础)的开发之路 辅助知识1 with...as

    这个语法是用来代替传统的try...finally语法的. with EXPRESSION [ as VARIABLE] WITH-BLOCK 基本思想是with所求值的对象必须有一个__enter_ ...

  6. 【基础】Attribute的妙用

    一.何为Attribute 下面是微软官方对Attribute的解释: 公共语言运行时允许你添加类似关键字的描述声明,叫做Attributes,它对程序中的元素进行标注,如类型.字段.方法和属性等.A ...

  7. CLR类型设计之方法与构造器

    无论学习那门语言都要学习函数体,C#,JAVA,PHP,都会涉及到函数体,而C#的函数体成员并不少,方法和构造器就是函数体成员之一,函数体成员还包括但不限于:方法,属性,构造器,终结器,运算符及索引器 ...

  8. python学习笔记——Day 1

    python是一种什么语言? 编译与解释 编译器是把源程序的每一条语句都编译成机器语言,并保存成二进制文件,这样运行时计算机可以直接以机器语言来运行此程序,速度很快; 而解释器则是只在执行程序时,才一 ...

  9. Kaggle Challenge简要介绍

    https://en.wikipedia.org/wiki/Kaggle 以下内容,直接摘自维基百科,主要起到一个记录的作用,提醒自己有时间关注关注这个竞赛. Kaggle is a platform ...

  10. 十一、Hadoop学习笔记————数据库与数据仓库

    数据仓库是集成的面向主题的数据库的集合 面向主题主要是宏观上解决某一类问题,集合性指数据集 数据库主要处理用于事务处理,数据仓库用于分析处理,数据库适用于操作型数据,便于增删改查, 数据仓库则用于挖掘 ...