• Kotlin开发springboot项目(三)


    Kotlin开发springboot项目(三)

    在线工具

    https://www.sojson.com

    IDEA中Kotlin生成可执行文件
    1,项目使用Gradle构建
    2,在model的build.gradle中添加插件: apply plugin:
    'application' mainClassName = "net.println.kotlin.HelloKt"     //注意文件名Kt结尾 3,在ide右侧:Gradle->model name->Tasks->distribution->installDist双击即可执行任务

    4,构建完毕,在./build/install/{modelName}/bin/下会生成bash脚本和bat脚本

    高阶函数有点和 scale 的类似

    forEach,map,flatmap,fold,reduce,filter,takeWhile,let,apply,with,use

     

     领域特定语言DSL

    专门解决某一特定问题的计算机语言,比如大家耳熟能详的 SQL 和正则表达式。

    协成Coroutine

     java与kotlin互操作

     

    kotlin编写脚本

    创建HelloWorld.kts

    import java.io.File
    println("HelloWorld")
    File(".").list().forEach(::println)

    kotlin整合springboot

    http://blog.720ui.com/2018/springboot2_kotlin_prime/

    环境依赖

    修改 POM 文件,添加 spring boot 依赖。

    <?xml version="1.0" encoding="UTF-8"?>
    <project xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.kotlin.springboot</groupId>
    <artifactId>sb-demo</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.0.2.RELEASE</version>
    <relativePath/>
    </parent>
    <dependencies>
    <!-- 基础依赖 -->
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jdbc</artifactId>
    </dependency>

    <!-- 数据库配置 -->
    <dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.35</version>
    </dependency>
    <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid</artifactId>
    <version>1.0.14</version>
    </dependency>

    <!-- kotlin配置 -->
    <dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-stdlib-jdk8</artifactId>
    </dependency>
    <dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-reflect</artifactId>
    </dependency>
    <dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-stdlib</artifactId>
    </dependency>
    </dependencies>

    <build>
    <plugins>
    <plugin>
    <artifactId>kotlin-maven-plugin</artifactId>
    <groupId>org.jetbrains.kotlin</groupId>
    <version>${kotlin.version}</version>
    <executions>
    <execution>
    <id>compile</id>
    <goals> <goal>compile</goal> </goals>
    </execution>
    <execution>
    <id>test-compile</id>
    <goals> <goal>test-compile</goal> </goals>
    </execution>
    </executions>
    <dependencies>
    <dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-maven-noarg</artifactId>
    <version>${kotlin.version}</version>
    </dependency>
    <dependency>
    <groupId>org.jetbrains.kotlin</groupId>
    <artifactId>kotlin-maven-allopen</artifactId>
    <version>${kotlin.version}</version>
    </dependency>
    </dependencies>
    </plugin>
    </plugins>
    </build>
    </project>

    脚本初始化

    先初始化需要用到的 SQL 脚本。

        CREATE DATABASE /*!32312 IF NOT EXISTS*/`springboot_db` /*!40100 DEFAULT CHARACTER SET utf8 */;
        USE `springboot_db`;
        DROP TABLE IF EXISTS `t_author`;
        CREATE TABLE `t_author` (
          `id` bigint(20) unsigned NOT NULL AUTO_INCREMENT COMMENT '用户ID',
          `real_name` varchar(32) NOT NULL COMMENT '用户名称',
          `nick_name` varchar(32) NOT NULL COMMENT '用户匿名',
          PRIMARY KEY (`id`)
        ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
  • 相关阅读:
    Linux内核分析——第四章 进程调度
    Linux内核分析——可执行程序的装载
    Linux内核分析——第七章 链接
    Linux内核分析——第三章 进程管理
    Linux内核分析——进程的描述和进程的创建
    Linux内核分析——第十八章 调试
    Linux内核分析——第五章 系统调用
    20145201李子璇 《网络对抗》 Web安全基础实践
    20145201李子璇 《网络对抗》 Web基础
    20145201 李子璇 《网络对抗》网络欺诈技术防范
  • 原文地址:https://www.cnblogs.com/gaogaoyanjiu/p/10890321.html
Copyright © 2020-2023  润新知