前言
最近读了spring-boot开发手册,spring-boot相比于spring-mvc封装了很多常用的依赖,并且内置了tomcat容器,启动生成的jar包即可启动项目,也是目前流行的微服务常用框架。本文主要用到了spring-boot,以及mybatis,数据库用到了mysql。
源码下载
准备工作
1.首先创建一个表:
1 | CREATE TABLE `t_user` ( |
插入一些数据:
1 | INSERT INTO t_user (USER_ID, USER_NAME, USER_PASSWORD, USER_EMAIL) VALUES (1, '林炳文', '1234567@', 'ling20081005@126.com'); |
创建工程
我习惯于先创建好maven项目,构建目录再导入到编译器中,这样的好处就是搭建好一个脚手架模板,后面改改参数就可以用到各个工程里面。
构建pom.xml
1 | <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"> |
工程目录
创建的文件目录如图:
启动器以及controller
(1) 启动器
在com.boot(即最外层目录文件)下写一个如下main方法:
1 | package com.boot; |
(2)controller
在com.boot.web下创建一个类如下:
1 | package com.boot.web; |
(3)启动项目
找到com.boot下的Application以java Application方式启动,然后打开浏览器输入localhost:8080就会出现Hello World!
添加java代码
(1)User.java
对应数据库中表的字段,放在src/main/java下的包com.boot.domain
1 | package com.boot.domain; |
(2)UserDao.java
Dao接口类,用来对应mapper文件。放在src/main/java下的包com.lin.dao,内容如下:
1 | package com.boot.dao; |
(3)UserService.java和UserServiceImpl.java
service接口类和实现类,放在src/main/java下的包com.lin.service,内容如下:
UserService.java
1 | package com.boot.service; |
UserServiceImpl.java
1 | package com.boot.service.impl; |
(4)mapper文件
用来和dao文件对应,放在src/main/resources中的com/boot/mapper目录下
UserMapper.xml
1 |
|
资源配置
下列所有文件均在src/main/resources目录下
(1)spring-boot配置
不少人都Properties资源文件来配置,不过这种文件在eclipse编码的默认设置是ISO-8859-1,需要修改eclipse的设置才能显示中文。因此我比较喜欢用yml文件来配置,一个是结构明显,另外一个不用考虑编码的问题。
application.yml
1 | spring: |
(2)日志打印logback-spring.xml
1 |
|
单元测试
spring-boot单元测试只需引入spring-boot-starter-test即可,里面集成了Junit以及Spring Test & Spring Boot Test等依赖。
(1)测试基类
1 | package com.boot.baseTest; |
(2)测试类
1 | package com.boot.serviceTest; |
选中测试类右键run as选中Junit Test即可,可以看到打印输出了id为10的User对象
2018-02-04 21:20:07,442 [main] INFO com.boot.serviceTest.UserServiceTest - 查找结果User [userId=10, userName=apple, userPassword=uih6, userEmail=ff@qq.com]
若看到正常输出,此时可以开始配置web页面了。
web页面配置
(1)静态资源
静态资源放在src/main/resources/static目录下
(2)index.html
spring-boot支持thymeleaf模板引擎,模板文件默认放在src/main/resources/templates目录下
1 |
|
(4)自定义错误页面
spring-boot错误页面默认在src/main/resources/static/error或者src/main/resources/public/error下,在此简单写了个404页面,命名为404.html放到目录下即可
404.html
1 |
|
(5)controller
1 | package com.boot.web; |
(6)启动工程
启动工程以后打开http://localhost:8080/user即可看到如下图:
若打开任意不存在的页面,会返回404.html中内容
打包工程
使用package命令给工程打包成jar包
1 | mvn package |
此时会在target下生成一个jar包,启动即可:
1 | java -jar target\testSpringBoot-0.0.1-SNAPSHOT.jar |
输出如下
1 | λ java -jar target\testSpringBoot-0.0.1-SNAPSHOT.jar |