@joshsulin
2018-08-06T02:09:04.000000Z
字数 649
阅读 593
SpringBoot
Java6、Java7是不行的, 必须是Java 8+以上, 同时SpringBoot对函数式编程语言(类似于Kotlin)这样的支持是比较丰富的。主要是因为下面的底层框架发生了变化。
SpringBoot为什么要依赖于Java8, 以及它支持Kotlin的重要原因, 就是底层框架发生了变更, 2.0的底层框架使用的是 Spring Framework 5.0.x。在Spring Framework 5.0.x的源码中, 有不少的代码是使用Kotlin进行描写的。
可以说 Spring Framework 5.0.x 除去Web Flux外, 其他的特性就没有这么显眼了, Web Flux是一种新型的编程模型, 它是对Spring Mvc做出的一种补充, 传统的Spring MVC采用标签或者注解的方式来进行描述相应的请求映射、以及响应或者返回结果。Web Flux同时也兼容这种方式, 同时Web Flux还提供了声明式函数式编程。
1、函数编程: Java 8 Lambda
对java语言体系或者是Java范式来做描述的, 针对Java编程模型发生了很大的变更。比较像前端的语言写法了。
2、响应编程: Reactive Streams
3、异步编程: Servlet 3.1 或 Asyc NIO
Servlet 3.1支持的是非阻塞式IO(NIO), Spring 3.0 后支持了异步,
