本文共 2240 字,大约阅读时间需要 7 分钟。
使用Spring Boot可以快速开发一个非常简易的Micro Blog应用。包含微博列表、发表微博、用户登录/登出等功能。
注:有兴趣的同学可以参考一下flaskr。
环境准备文本编辑器或IDE
Maven 3.0+,如果使用Eclipse或Idea IntelliJ等IDE,Maven是内置的
初始化代码
Spring Initializr是一个生成Spring Boot应用初始代码的工具,在网站上选择需要的功能特性,然后下载的zip包中会添加响应的配置代码,在这里我们选择Web, Thymeleaf, JDBC以及H2四个选项:
Spring Mvc作为Web框架
Thymeleaf作为模板引擎
Spring JDBC连接H2内存数据库(H2仅用在开发测试、而不用于生产环境)
选择Generate Project后会下载得到一个zip包,解压缩后目录结构如下:~/Downloads unzip -l microblog-demo.zip
Archive: microblog-demo.zip
Length Date Time Name
-------- ---- ---- ----
0 08-04-15 12:40 microblog-demo/
0 08-04-15 12:40 microblog-demo/src/
0 08-04-15 12:40 microblog-demo/src/main/
0 08-04-15 12:40 microblog-demo/src/main/java/
0 08-04-15 12:40 microblog-demo/src/main/java/demo/
0 08-04-15 12:40 microblog-demo/src/main/java/demo/microblog/
0 08-04-15 12:40 microblog-demo/src/main/resources/
0 08-04-15 12:40 microblog-demo/src/main/resources/static/
0 08-04-15 12:40 microblog-demo/src/main/resources/templates/
0 08-04-15 12:40 microblog-demo/src/test/
0 08-04-15 12:40 microblog-demo/src/test/java/
0 08-04-15 12:40 microblog-demo/src/test/java/demo/
0 08-04-15 12:40 microblog-demo/src/test/java/demo/microblog/
1777 08-04-15 12:40 microblog-demo/pom.xml
332 08-04-15 12:40 microblog-demo/src/main/java/demo/microblog/MicroblogDemoApplication.java
0 08-04-15 12:40 microblog-demo/src/main/resources/application.properties
512 08-04-15 12:40 microblog-demo/src/test/java/demo/microblog/MicroblogDemoApplicationTests.java
-------- -------
2621 17 files
接下来可以根据自己的喜欢,选择在IDE中导入项目,或者直接选用称手的文本编辑器进行开发。
功能与页面分析
根据功能描述,我们需要实现几个页面以及处理用户表单提交数据的POST请求:页面GET请求:首页——包含Micro Bog列表和创建Micro Blog条目的表单
POST请求:创建Micro Blog
GET请求:登录(log in)页面,包含用户登录的输入表单
POST请求:登录
GET, Post请求:登出(log out)
数据模型与数据库设计
Micro Blog的条目可以简单的用Entry类来抽象:class Entry {
public String title;
public String text;
public Entry() {
}
public Entry(String title, String text) {
this.title = title;
this.text = text;
}
}
为了将数据持久化到关系型数据库,创建src/main/resource/schema.sql:drop table if exists entries;
create table entries (
id integer primary key auto_increment,
title text not null,
`text` text not null
);
Spring Boot在默认情况下,会加载classpath上的schema.sql并执行,这样在应用启动时数据库中的entries表已经建立好。
登录页面
创建src/main/resources/templates/login.html:
转载地址:http://ckyhp.baihongyu.com/