简单搭建Spark微框架

主要介绍简单的restful微服务的搭建,使用Spark框架,以Gradle为例。


1. 新建项目

新建一个普通的Gradle项目即可。

2. 引入jar包

1
2
3
4
5
// https://mvnrepository.com/artifact/org.slf4j/slf4j-log4j12
compile group: 'org.slf4j', name: 'slf4j-log4j12', version: '1.7.25'
// https://mvnrepository.com/artifact/com.sparkjava/spark-core
compile group: 'com.sparkjava', name: 'spark-core', version: '2.6.0'

3. 加入必要的日志配置

新建log4j.properties文件。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#定义输出级别和输出平台,控件台输出 appender(目的地)可以有多个
log4j.rootLogger=debug,stdout
#设定stdout输出平台 org.apache.log4j.ConsoleAppender(控制台)
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
#指定输出的最低级别
log4j.appender.stdout.Threshold=debug
# 指定默认值是true,意谓着所有的消息都会被立即输出。 fasle 不输出
log4j.appender.stdout.ImmediateFlush=true
#默认情况下是System.out,指定输出控制台-err为红色的提示
log4j.appender.stdout.Target=system.out
#org.apache.log4j.PatternLayout(可以灵活地指定布局模式)
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
#指定输入的格式对输出的内容进行格式化
#%p 输出日志信息优先级,即DEBUG,INFO,WARN,ERROR,FATAL
#%d 输出日志时间点的日期或时间,
#%l 输出日志事件的发生位置,相当于%C.%M(%F:%L)的组合,包括类目名、发生的线程,以及在代码中的行数
#%m 输出代码中指定的消息,产生的日志具体信息
#%n 输出一个回车换行符,Windows平台为”\r\n”,Unix平台为”\n”输出日志信息换行
log4j.appender.stdout.layout.ConversionPattern=[%-5p][%d{yyyy-MM-dd HH:mm:ss}][%l]%m%n
log4j.logger.org=ERROR

4. 配置运行类

配置运行类,新建普通类即可,写入main函数运行即可。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
public static void main(String[] args) {
port(8888);//配置端口。默认4567端口
//get
get("/", (req, res) -> "Hello World");
//post
post("/", (req, res) -> "Hello World");
//delete
delete("/", (req, res) -> "Hello World");
//put
put("/", (req, res) -> "Hello World");
}

5.运行查看效果即可。