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. JS中的循环---最全的循环总结

    在讲循环的之前,先知道一下循环结构的执行步骤 1.声明循环变量: 2.判断循环条件; 3.执行循环体操作: 4.更新循环变量: 5.然后循环执行2-4,直到条件不成立,跳出循环. 1while循环 v ...

  2. 【3】测试搭建成功的单机hadoop环境

    1.关闭防火墙service iptables stop,(已经设置开机关闭的忽略) 2.进入hadoop目录,修改hadoop配置文件(4个) core-site.xml(核心配置,fs.defau ...

  3. centos6.5安装rabbitmq3.6.14

    The minimum version of Erlang/OTP required to run RabbitMQ server 3.6.0 through 3.6.14 is R16B03. St ...

  4. The Lisp Curse /Lisp魔咒

    The Lisp Curse /Lisp魔咒 http://winestockwebdesign.com/Essays/Lisp_Curse.html 英文出处 http://www.soimort. ...

  5. 无状态的web应用(单个py文件的Django占位图片服务器)

    本文为作者原创,转载请注明出处(http://www.cnblogs.com/mar-q/)by 负赑屃 阅读本文建议了解Django框架的基本工作流程,了解WSGI应用,如果对以上不是很清楚,建议结 ...

  6. ubuntu server小技巧(不定期更新)

    0.常用工具apt安装包名 # ssh服务器工具 apt-get install openssh-server # RabbitMQapt-get install rabbitmq-server # ...

  7. 诸葛马前课andoid app 应用

    前段时间学了点安卓开发的知识,也在同时,陪家人看了<新闺蜜时代 >的后面几集,其中,周小北提到了诸葛马前课. 于是网上查了些资料,学习了一下马前课的计算方法,本着程序服务生活的原则,省去不 ...

  8. vue打包之后生成一个配置文件修改接口

    前言: 我们的vue代码打包上传到服务器之后, 要是数据接口 以后换了域名什么的,是不是需要重新去vue文件里修改接口. 能不能生成一个配置文件,里面可以配置域名或其它什么字段之类的,这样以后换了域名 ...

  9. ubuntu16.04安装交叉编译链

    我使用的是arm-linux-gcc 4.3.2版本,其他版本类似,附上下载链接: https://pan.baidu.com/s/1geUOfab 密码: frzy 首先我的安装包是tar.bz2的 ...

  10. Could not resolve view with name '***' in servlet with name 'dispatcher'

    今天在开发中遇到了一个问题,控制层使用的是SpringMVC框架. @RequestMapping("historyDetail") private String History( ...