zoukankan      html  css  js  c++  java
  • kotlin web开发教程【一】从零搭建kotlin与spring boot开发环境

    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
     


  • 相关阅读:
    HDU 3547 DIY Cube
    POJ 2975 Nim
    POJ 1678 I Love this Game!
    POJ 2234 Matches Game
    POJ 3537 Crosses and Crosses
    POJ 3710 Christmas Game
    POJ 1704 Georgia and Bob
    HDU 3923 Invoker
    POJ 2154 Color
    PLM更新自定义CLASS
  • 原文地址:https://www.cnblogs.com/liulun/p/8093058.html
Copyright © 2011-2022 走看看