此文已由作者易国强授权网易云社区发布。

欢迎访问网易云社区,了解更多网易技术产品运营经验。

快速构建

  • 如果我们想基于spring mvc 提供一个简单的API查询服务,传统的方式,首先需要我们引入spring-mvc/spring-context等等各项依赖包,然后配置相关的参数,编写api接口,准备Tomcat并进行配置,编译打包,启动Tomcat运行。在这一系列的过程中,其实编写api接口才是我们最关心的,其他都是为这个api接口能提供服务而准备的。

  • 基于Spring Boot的方式来构建此服务,我们只需要两分钟即可完成,不妨一起来看看,非常简单。


  1. 打开IDE(在此我使用的是IDEA),选择新建项目,通过内置的Spring Initializr项能够快速的构建Spring Boot项目,如下图所示:

  1. 填写项目模块的GroupId,ArtifactId等信息,选择next,如下图所示:

  1. 选择需要加入的组件依赖,应该是搭建的Spring web项目,在这里我们只勾选web即可,其他组件依赖在真正需要的时候,根据实际情况添加即可,如果不在此添加,在工程新建完成后,在pom.xml文件中自行添加相关的依赖也可以的,在这一步骤并没有做什么神奇的事情。如下图所示:

  1. 选择完成后,点击next,然后选择工程保存位置,点击Finish后即可看见如下图所述的功能结构,在这里我们主要关心的是两个文件,一个是工程的核心配置文件:application.properties;另一个是项目的主入口文件:BingoApplication.java。

  1. 当然,工程中引入的相关依赖我们直接在pom.xml中查看即可,你会发现依赖超级简洁。一个是web应用需要的,一个是单元测试需要引入的,就这样我们环境的准备就完成了,复杂的依赖关系框架已经帮我们搞定。

  2. 经过上面的配置后,下一步我们就可以直接编写我们的服务接口了。在这里我直接在入口文件中定义Controller。正常情况我们可以自定义Controller即可。如下所示:

package com.example.future;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.web.bind.annotation.GetMapping;import org.springframework.web.bind.annotation.RestController;/**
 * @author future
 */@RestController@SpringBootApplicationpublic class BingoApplication {    public static void main(String[] args) {
        SpringApplication.run(BingoApplication.class, args);
    }    @GetMapping("/")    public String hello(){        return "hello,world!";
    }
}
  1. 因为我们使用的是Spring Boot框架中内置的Tomcat,在这里简单演示下Tomcat参数的配置,比如我们自定义服务的端口号。在核心配置文件application.properties中加入如下内容:

# 服务端口号server.port=10000
  1. 服务编写完成后,我们直接通过IDE自带的maven命令和插件来进行打包或Spring Boot插件直接启动服务即可。如下图所示:

  1. 在控制台可以查看相关的启动日志,发现启动ok,在浏览器中输入服务接口即可正常访问,如下图所示:

  1. 经过上述步骤,我们的服务雏形就构建完毕了,说得可能比较多,但实际动手操作很快,大家不妨试试吧~

  • 不足之处,欢迎指正,谢谢~

免费体验云安全(易盾)内容安全、验证码等服务

更多网易技术、产品、运营经验分享请点击

相关文章:
【推荐】 网易云首席安全架构师谈安全新形势:DDOS两三天,游戏玩家数从几万降到几百
【推荐】 小论数据分析的方法及思维

Spring Boot 学习系列(01)—从0到1,只需两分钟的更多相关文章

  1. Spring Boot 学习系列(04)—分而治之,多module打包

    此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 明确功能,各司其职 在一个结构清晰的项目中,一个没有module划分的结构显然不是最佳实践.有人会说可以在同 ...

  2. Spring Boot 学习系列(10)—SpringBoot+JSP的使

    此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 解决问题 随着spring boot 框架的逐步使用,我们期望对于一些已有的系统进行改造,做成通用的脚手架, ...

  3. Spring Boot 学习系列(03)—jar or war,做出你的选择

    此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 两种打包方式 采用Spring Boot框架来构建项目,我们对项目的打包有两种方式可供选择,一种仍保持原有的 ...

  4. Spring Boot 学习系列(序)—Spring Boot

    此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Spring Boot? Spring Boot 是由pivotal团队提供的一个基于Spring的全新框架 ...

  5. Spring Boot 学习系列(06)—采用log4j2记录日志

    此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 为什么选择log4j2 log4j2相比于log4j1.x和logback来说,具有更快的执行速度.同时也支 ...

  6. Spring Boot 学习系列(08)—自定义servlet、filter及listener

    此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 传统的filter及listener配置 在传统的Java web项目中,servlet.filter和li ...

  7. Spring Boot 学习系列(05)—自定义视图解析规则

    此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 自定义视图解析 在默认情况下Spring Boot 的MVC框架使用的视图解析ViewResolver类是C ...

  8. Spring Boot 学习系列(09)—自定义Bean的顺序加载

    此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Bean 的顺序加载 有些场景中,我们希望编写的Bean能够按照指定的顺序进行加载.比如,有UserServ ...

  9. Spring Boot 学习系列(07)—properties文件读取

    此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 传统的properties读取方式 一般的,我们都可以自定义一个xxx.properties文件,然后在工程 ...

随机推荐

  1. 软考考点---CPU

    软考考点---CPU         中央处理器(CPU,Central Processing Unit)是一块超大规模的集成电路,是一台计算机的运算核心(Core)和控制核心( Control Un ...

  2. ecshop 国付宝支付接口

    function get_code($order, $payment){ $version = '2.2'; $charset = '1'; $language = '1'; $signType = ...

  3. 百度之星2016资格赛D,水题

    很简单的题,主要是要用字符串哈希,把字符串处理成整数.接下来可以继续用hash,也可以像我一样用个map就搞定了. /* * Author : ben */ #include <cstdio&g ...

  4. exp/imp三种模式——完全、用户、表

    ORACLE数据库有两类备份方法.第一类为物理备份,该方法实现数据库的完整恢复,但数据库必须运行在归挡模式下(业务数据库在非归挡模式下运行),且需要极大的外部存储设备,例如磁带库:第二类备份方式为逻辑 ...

  5. git基本操作---持续更新(2017-08-11)

    git 强制push $ git push -u origin master -f 查看本地标签 $ git tag 打标签并添加备注 $ git tag 20170811 -m"图片保存多 ...

  6. 远程请求json数据,list中显示

    public class MainActivity extends Activity { protected static final int WHAT_REQUEST_SUCCESS = 1; pr ...

  7. Linux-VMware三种网络模式

    虚拟机网络模式 对于VMware虚拟软件来说,有三种网络模式 1.桥接 2.NAT 3.Host-only 桥接 桥接网络是指本地物理网卡和虚拟网卡通过VMnet0虚拟交换机进行桥接,因此物理网卡和虚 ...

  8. SpringMVC+Spring+MyBatis配置

    今天配置项目时遇到一个问题,tomcat启动没有报错,但是访问页面的时总是报404,后台打印的日志是: 8080-exec-1] WARN springframework.web.servlet.Pa ...

  9. Hihocoder #1095 : HIHO Drinking Game (微软苏州校招笔试)( *【二分搜索最优解】)

    #1095 : HIHO Drinking Game 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 Little Hi and Little Ho are playin ...

  10. 自定义带图标input样式

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...