Spark很多人都会联想到大数据的处理,但是他也是支持用于做微服务
官方文档
Spark Framework: An expressive web framework for Kotlin and JavaDocumentation - Spark Framework: An expressive web framework for Kotlin and Java
Quickly Start
添加dependencey
<dependency>
<groupId>com.sparkjava</groupId>
<artifactId>spark-core</artifactId>
<version>2.9.4</version>
</dependency>
First Start:
import static spark.Spark.*;
public class HelloWorld {
public static void main(String[] args) {
get("/hello", (req, res) -> "Hello World");
}
}
然后直接在浏览器中输入: (默认的启动端口为 4567)
http://localhost:4567/hello
就可以看到
Hello World
如果想使用自己的端口启动,可以使用port()
import static spark.Spark.*;
public class HelloWorld {
public static void main(String[] args) {
port(8080);
get("/hello", (req, res) -> "Hello World");
}
}
这样就可以使用8080端口访问该服务
同时这个server是不需要启动函数的,当阐明路由配置或者是端口号的时候,服务就会自动启动,而停止可以使用
stop();
要在web服务器上运行Spark,因为上述的方法是直接启动的,对于服务器希望直接调用这个端口或者路径并不能做到。那么需要通过spark.servlet.SparkApplication 这一个接口。并在对于的init()函数初始化路由
import static spark.Spark.get;
import spark.servlet.SparkApplication;
public class test implements SparkApplication {
@Override
public void init() {
get("/hello/:name", (request, response) -> "Hello " + request.params(":name"));
}
}