标签‘groovy’

在 Spring(Spring Boot) 中应用 Kotlin

Kotlin 已悄然成为 Spring 继支持 Groovy 后的第二个 JVM 语言。持续关注 Java 的同时,也顺手在 Spring 上体验了一把。

本例简单记录 Kotlin 的初始化以及配置文件的输出,建立在熟悉 Spring、Spring Boot 及 Kotlin 的基础上,如对 Spring 框架或 Kotlin 语言比较陌生,建议先行了解。

1、创建项目

springboot-1
查看更多...

初识Kotlin

Kotlin 是一个基于 JVM 的新的编程语言,由 JetBrains 开发。作为目前广受欢迎的 Java IDE IntelliJ 的提供商,在 Apache 许可下已经开源其Kotlin 编程语言。

Kotlin设计目标是

1、创建一种兼容Java的语言

2、让它比Java更安全,能够静态检测常见的陷阱。如:引用空指针

3、让它比Java更简洁,通过支持variable type inference,higher-order functions (closures),extension functions,mixins and first-class delegation等实现。

4、让它比最成熟的竞争对手Scala语言更加简单。 查看更多...

基于注解整合Spring4、Jersey2与Groovy(非零配置)

众所周知,Servlet3.0作为J2EE 6规范一部分,随J2EE6一起发布,并且Tomcat7已经完全支持,其中就我个人而言,最为关注的就是异步与注解支持,但这么久以来,实际项目中一直不曾使用,近来业余有空,就尝试了一下Servlet 3.0的注解,但这不是重点,关于Servlet 3.0注解@WebServlet的使用,网上一搜一大把,这里不再赘述。

本文的重点是大部分基于注解来整合Spring4、Jersey2与Groovy实现Restful风格接口,为什么说是大部分呢?因为实践中发现个小小的问题,Jersey2.0开始,同样采用新规范,支持Spring加载但目前只支持XML配置形式,毕竟这两个东西不是同一公司出品,完全融合还需要一定的时间去折腾,这里就不自己造轮子了,毕竟写几行XML配置也不是那么的麻烦,当然,如果你有洁癖、如果你愿意基于Spring官方方案实现Restful或者自己实现Jersey2与Spring4的桥接,依然可以保持零配置,这里就不再啰嗦,简单分享下配置示例。 查看更多...

Java结合Groovy让程序支持动态算法

最近项目在做一个度量平台,项目目标是整合大量数据,结合各种度量指标的算法,以图表等形式展现数据优劣趋势等。

至于前台的实现技术、架构等内容不在我们讨论范围内,直接忽略,后台系统架构则采用纯Java的后台,结合多线程、Quartz定时器等技术实现采集、计算,但只是实现了预定义指标、算法的计算(使用系统预定义算法,即程序固定写死的算法)。说这么多,大家应该发现了,问题就在这,大多比较强大的度量系统,肯定有一套自己独有的算法规则,可以使用定义好的规则自定义算法,而我们的系统则是一成不变的固定算法,即便说可以添加,也是改Java代码实现,带来的工作量可是不小,而且系统会越来越庞大,很难维护。

废话不说,下面就大概聊一下这里要出厂的主角——Groovy,Groovy是一种基于JVM(Java虚拟机)的敏捷开发语言,它结合了Python、Ruby和Smalltalk的许多强大的特性,Groovy 代码能够与 Java 代码很好地结合,也能用于扩展现有代码。由于其运行在 JVM 上的特性,Groovy 可以使用其他 Java 语言编写的库。看样子是很诱人,而且还可以直接使用而不必编译(这里的不用编译实质上是有点争议的,因为虽然Groovy脚本可以及时生效,但在其作为对象使用时还是使用Groovy本身提供的类库生成了JVM所认识的字节码,只不过我们看不到这个编译后的文件而已,当然,为了运行效率的提高,你依然可以将其编译成class文件,但前提是你写好的*.groovy文件放在编译目录,而且一旦编译,就不能实现我们的动态算法功能了,这里我们要讨论的就是动态算法的融入,故不再赘述)。 查看更多...