天天看点

Spring MVC 使用 Jetty 作为内嵌服务器

Jetty 是高性能的 Servlet 容器,经常会在开发环境中作为服务器来使用。在本文中,我们将使用 Spring Web MVC 技术来实现 REST 接口,并使用 使用 Jetty 作为内嵌服务器,方便测试。

我们将会在系统中实现两个接口:

其中,第一个接口“/hello”将会返回“Hello World!” 的字符串;而第二个接口“/hello/way”则会返回一个包含用户信息的JSON字符串。

我们需要在应用中添加如下依赖:

其中,

<code>spring-webmvc</code> 是为了使用 Spring MVC 的功能。

<code>jetty-servlet</code>是为了提供内嵌的 Servlet 容器,这样我们就无需依赖外部的容器,可以直接运行我们的应用。

<code>jackson-core</code> 和 <code>jackson-databind</code> 为我们的应用提供 JSON 序列化的功能。

创建一个 User 类,代表用户信息。

创建 HelloController 用于处理用户的请求。

其中,映射到“/hello”的方法将会返回“Hello World!” 的字符串;而映射到“/hello/way”则会返回一个包含用户信息的JSON字符串。

在本应用中,我们采用基于 Java 注解的配置。

AppConfiguration 是我们的主应用配置:

AppConfiguration 会扫描“com.waylau.spring”包下的文件,并自动将相关的 bean 进行注册。

AppConfiguration 同时又引入了 MVC 的配置类 MvcConfiguration:

MvcConfiguration 配置类一方面启用了 MVC 的功能,另一方面添加了 Jackson JSON 的转换器。

最后,我们需要引入 Jetty 服务器 JettyServer:

JettyServer 将会在 Application 类中进行启动:

在编辑器中,直接运行 Application 类即可。启动之后,应能看到如下控制台信息:

Spring MVC 使用 Jetty 作为内嵌服务器

图1 “/hello”接口的返回内容

Spring MVC 使用 Jetty 作为内嵌服务器

图2 “/hello/way”接口的返回内容