skaka的博客

every flight begins with a fall

给Java开发者的Play Framework(2.4)介绍 Part2:使用Play,Spring,JPA进行开发

| Comments

1. 介绍

这篇文章会使用Play,Spring,JPA(hibernate)开发一个简单的CRUD功能,主要是为了介绍如何使用Play进行开发。

2. 界面截图

很简单的新增和查询功能。我们来看看代码如何实现。

3. 代码实现

1. Model

代码架构使用典型的MVC,分层为Controller-Service-Dao-Model。首先来看Model。

给Java开发者的Play Framework(2.4)介绍 Part1:Play的优缺点以及适用场景

| Comments

1. 关于这篇系列

这篇系列不是Play框架的Hello World,因为这样的文章网上已经有很多。

这篇系列会首先结合实际代码介绍Play的特点以及适用场景,然后会有几篇文章介绍Play与Spring,JPA(Hibernate)的集成,以及一些Play应用的最佳实践, 这期间会在Github上提供一个脚手架项目,方便感兴趣的朋友直接动手尝试。最后会简单分析Play的部分源码,帮助大家理解黑盒子的内部机制。

我水平有限,有错误欢迎指出。

2. Play介绍

Play Framework是一个开源的Web框架,背后商业公司是Typesafe。要介绍Play之前,首先理清Play的两个不同的分支。 Play 1.x 使用Java开发,最新版本是1.3.1,只支持Java项目。从11年开始就进入了维护阶段,新项目一般不考虑使用Play1。 Play 2.x 使用Scala和Java开发,同时支持Java和Scala项目。 这里主要介绍最新的Play2.4 for Java。有一点需要提前说明,虽然Play2主要由Scala开发,但是对于项目中的一般开发人员而言, 使用Play可以完全不懂Scala,具体情况后面会说明。

使用StatsD, Graphite, Grafana, Kamon搭建可用于JVM项目的可视化性能监控系统

| Comments

1. 什么是性能监控系统

这里说的性能监控系统,主要侧重点是监控应用系统的性能。 说直白点就是每个业务(例如注册,登录)的请求响应时间,请求次数等信息。 操作系统的监控不是这里的重点,因为业界已经有许多相当成熟的基于Linux的运维系统。 操作系统的运维和应用系统的运维是两码事,应用系统的运维相对来说没有这么多选择。 而对于任何线上系统来说,运维监控系统又是必不可少的。 如果你是在大公司,一般会选择开发自己的运维系统,而对于中小团队,因为人力有限,大多会采用开源的解决方案。

我在这里要介绍的就是使用StatsD,Graphite, Grafana, Kamon搭建监控系统的方案。 这里的Kamon只适用于基于JVM的项目,另外,如果你的项目是基于Play或Akka或Spray,可以做到不写代码实现监控。 因为Kamon对这几个框架提供了AspectJ支持,在类加载的时候插入代码为你完成记录。 其他情况你需要调用Kamon API来进行数据记录,这也非常的简单。