源码地址 https://github.com/bnovil/QuickStar
一、Spring Boot 简介
Spring Team在现有Spring框架的基础上发布了一个创新的主要框架:Spring Boot。这是一个来自Pivotal Team(Spring Team)的全新项目。Spring Boot是他们最新的创新,能够跟上不断变化的技术需求。 开发Spring Boot的主要动机是简化配置和部署spring应用程序的过程。
Spring Boot为开发提供一个具有最小功能的Spring应用程序,并提供了一个新的范例。使用Spring Boot将能够以更灵活的方式开发Spring应用程序,并且能够通过最小(或可能没有)配置Spring来专注于解决应用程序的功能需求。它使用全新的开发模型,通过避免一些繁琐的开发步骤和样板代码和配置,使Java开发非常容易。
Spring Boot可以轻松创建单独的,生产级的基于Spring的应用程序,我们只管“运行”。查看Spring平台和第三方库。大多数Spring Boot应用程序只需要很少的Spring配置。
Spring Boot的主要特点
• 创建独立的Spring应用程序
• 直接嵌入Tomcat,Jetty或Undertow(无需部署WAR文件)
• 提供“初始”的POM文件内容,以简化Maven配置
• 尽可能时自动配置Spring
• 提供生产就绪的功能,如指标,健康检查和外部化配置
• 绝对无代码生成,也不需要XML配置
二、导入项目
地址 https://github.com/bnovil/QuickStar
Clone 或下载 zip 文件
已经配置好MyBatis , Redis
maven在下载依赖时可能出错,建议使用Intellij idea,出错的依赖会以红色波浪线标出来,正常的情况如下,没有红色波浪线
这里写图片描述
完整项目结构如下
这里写图片描述
说明:
controller, service, dao 不用多说,
pojo.dto 放与数据库对应的实体类,
common 下为各种工具类,
filter 用户登陆过滤,防止xss 攻击
listener 配置netty(一种非阻塞通讯框架) 随spring boot 框架启动
mapper 存放MyBatis映射类
thread 下为 socket, Netty, 执行定时任务等的线程
三、开发RESTful 接口
以一个简单的user作为示例
3.1 创建user表
SQL 语句在sql/QuickStar.sql 文件中,在MySQL中创建一个user表
DROP TABLE IF EXISTS user
;
CREATE TABLE user
(
id
int(11) NOT NULL AUTO_INCREMENT,
username
varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL ,
password
varchar(100) COLLATE utf8_unicode_ci DEFAULT NULL ,
update_time
timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
PRIMARY KEY (id
)
) ENGINE=InnoDB AUTO_INCREMENT=75 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
1
2
3
4
5
6
7
8
9
10
3.2 配置MyBatis
使用MyBatis-generator 自动生成相应的映射类和xml映射文件
maven中的pom.xml文件引入一下插件依赖,
org.mybatis.generator
mybatis-generator-maven-plugin
1.3.2
sql/generatorConfig.xml
true
true
1
2
3
4
5
6
7
8
9
10
11
通过sql/generatorConfig.xml文件对mybatis-generator进行配置,包括数据库连接,xml映射文件,映射类存放位置,数据库中的表以及对应的实体类,详见generatorConfig.xml
完整文件如下