Spring Boot 学习系列(01)—从0到1,只需两分钟
此文已由作者易国强授权网易云社区发布。
欢迎访问网易云社区,了解更多网易技术产品运营经验。
快速构建
如果我们想基于spring mvc 提供一个简单的API查询服务,传统的方式,首先需要我们引入spring-mvc/spring-context等等各项依赖包,然后配置相关的参数,编写api接口,准备Tomcat并进行配置,编译打包,启动Tomcat运行。在这一系列的过程中,其实编写api接口才是我们最关心的,其他都是为这个api接口能提供服务而准备的。
基于Spring Boot的方式来构建此服务,我们只需要两分钟即可完成,不妨一起来看看,非常简单。
打开IDE(在此我使用的是IDEA),选择新建项目,通过内置的Spring Initializr项能够快速的构建Spring Boot项目,如下图所示:
填写项目模块的GroupId,ArtifactId等信息,选择next,如下图所示:
选择需要加入的组件依赖,应该是搭建的Spring web项目,在这里我们只勾选web即可,其他组件依赖在真正需要的时候,根据实际情况添加即可,如果不在此添加,在工程新建完成后,在pom.xml文件中自行添加相关的依赖也可以的,在这一步骤并没有做什么神奇的事情。如下图所示:
选择完成后,点击next,然后选择工程保存位置,点击Finish后即可看见如下图所述的功能结构,在这里我们主要关心的是两个文件,一个是工程的核心配置文件:application.properties;另一个是项目的主入口文件:BingoApplication.java。
当然,工程中引入的相关依赖我们直接在pom.xml中查看即可,你会发现依赖超级简洁。一个是web应用需要的,一个是单元测试需要引入的,就这样我们环境的准备就完成了,复杂的依赖关系框架已经帮我们搞定。
经过上面的配置后,下一步我们就可以直接编写我们的服务接口了。在这里我直接在入口文件中定义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!";} }
因为我们使用的是Spring Boot框架中内置的Tomcat,在这里简单演示下Tomcat参数的配置,比如我们自定义服务的端口号。在核心配置文件application.properties中加入如下内容:
# 服务端口号server.port=10000
服务编写完成后,我们直接通过IDE自带的maven命令和插件来进行打包或Spring Boot插件直接启动服务即可。如下图所示:
在控制台可以查看相关的启动日志,发现启动ok,在浏览器中输入服务接口即可正常访问,如下图所示:
经过上述步骤,我们的服务雏形就构建完毕了,说得可能比较多,但实际动手操作很快,大家不妨试试吧~
不足之处,欢迎指正,谢谢~
免费体验云安全(易盾)内容安全、验证码等服务
更多网易技术、产品、运营经验分享请点击。
相关文章:
【推荐】 网易云首席安全架构师谈安全新形势:DDOS两三天,游戏玩家数从几万降到几百
【推荐】 小论数据分析的方法及思维
Spring Boot 学习系列(01)—从0到1,只需两分钟相关推荐
- Vue + Spring Boot 学习笔记01:实现用户登录功能
Vue + Spring Boot 学习笔记01:实现用户登录功能 一.创建后端Spring Boot项目Book Management 二.创建前端Vue项目bm-vue 三.修改后端项目Book ...
- Spring Boot 学习系列(04)—分而治之,多module打包
此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 明确功能,各司其职 在一个结构清晰的项目中,一个没有module划分的结构显然不是最佳实践.有人会说可以在同 ...
- Spring Boot 学习系列(08)—自定义servlet、filter及listener
此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 传统的filter及listener配置 在传统的Java web项目中,servlet.filter和li ...
- Spring Boot 学习系列(09)—自定义Bean的顺序加载
此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. Bean 的顺序加载 有些场景中,我们希望编写的Bean能够按照指定的顺序进行加载.比如,有UserServ ...
- Spring Boot 学习系列(07)—properties文件读取
此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 传统的properties读取方式 一般的,我们都可以自定义一个xxx.properties文件,然后在工程 ...
- Spring Boot 学习系列(05)—自定义视图解析规则
此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 自定义视图解析 在默认情况下Spring Boot 的MVC框架使用的视图解析ViewResolver类是C ...
- Spring Boot 学习系列(02)—使用热部署,提升开发效
此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 开发调试很简单 热部署的使用非常简单,但能极大的提高我们的开发效率,像传统的web应用,我们修改后需要重新编 ...
- Spring/Boot/Cloud系列知识(2)— — 代理模式
本文转自:https://blog.csdn.net/yinwenjie/article/details/77848285 代理模式是23种设计模式中的一种,属于一种结构模式.用一句大白话解释这个设计 ...
- 2023最新首发,全网最全 Spring Boot 学习宝典(附思维导图)
作者:bug菌 博客:CSDN.掘金.infoQ.51CTO等 简介:CSDN/阿里云/华为云/51CTO博客专家,博客之星Top30,掘金年度人气作者Top40,51CTO年度博主Top12,掘金/ ...
最新文章
- 使用Truffle时遇到的问题和解决方法
- 13篇文章,教你学会ES6知识点
- Linux终端命令行下的常用快捷键使用
- 《计算机网络》实验报告——使用SNORT观察网络数据包和TCP连接
- 通过自定义注解与aop统一存储操作记录
- How is ABAP keyword highlight implemented in Chrome
- python 套接字 struck_Python socket粘包问题(最终解决办法)
- 从PRISM开始学WPF(九)交互Interaction?
- 会计凭证BAPI_ACC_DOCUMENT_POST
- as5 samba 图形配置
- windows操作系统_windows下用深度系统安装器安装深度操作系统实现双系统分别运行...
- 开篇第一章,开宗明义。
- 夜弦网页游戏专用浏览器(支持最小化隐藏后台多开挂机)
- LeaRun.Java可视化流程简单配置过程
- 新路由3鸡血版固件_新路由3 V1.1版本 刷lean源码开源驱动2.4G无线测试(EEPROM重新调试了)...
- linux bridge - mac和vlan转发
- 外卖行业现状分析_2020餐饮外卖行业市场前景及现状分析
- NEUQOJ 1999: 三角形or四边形?【搜索联通块/模拟】
- 涛思数据加入龙蜥社区,携手共建时序数据库生态
- 建模simulink - xpc自定义模块设置