Sping Boot入门到实战之入门篇(二):第一个Spring Boot应用
该篇为Spring Boot入门到实战系列入门篇的第二篇。介绍创建Spring Boot应用的几种方法。
Spring Boot应用可以通过如下三种方法创建:
- 通过 https://start.spring.io/ 网站创建
- 通过Spring Initializr创建
- 自主创建
推荐开发工具:
- JDK 1.8+
- maven 3.2+
- IntelliJ IDEA 14
1. 通过 https://start.spring.io/ 网站创建
进入https://start.spring.io/,填写对应的信息,点击“Generate Project”按钮即可下载生成好的项目的zip压缩包,如图(其中Dependencies部分输入Web,弹出下拉列表中选第一项)

解压zip压缩包,导入IntelliJ IDEA 中(File -> Open),项目目录结构如下图所示:

已自动生成了应用主类MyFirstSpringbootApplication 及配置文件application.properties,以及其它目录,如静态资源目录static,模板目录templates。
直接运行主类MyFirstSpringbootApplication,即可启动应用,但是目前应用是一个空应用, 什么功能都没有,后面我们再添加。
2. 通过Spring Initializr创建
IntelliJ IDEA中File -> New -> Project...打开新建项目窗口,如下图

选择Spring Initializr,点击“Next”,填写相应信息, 如下图

下一步,选择Spring Boot版本以及相应依赖,如下图(这里选择2.0.0.RC2版本及Web依赖)

最后,填写项目名称,即完成项目创建。项目结构与第一种方法一致。有可能项目不能编译,IDE未将其识别为maven项目,只需在pom.xml文件上右键,点击“Add as Maven project”即可。
3. 自主创建
自主创建即像普通Java Maven项目一样,先创建maven项目,然后pom.xml中手动添加必要的依赖及创建主类。
上述三种创建方法,第1种需要下载解压导入,第2种直接基于IDE创建,第3种完全自主添加。实际开发中可采用第2种创建初始项目原型,根据具体需求删除或添加相应目录与文件。
上面创建的项目,没有实现任何功能,下面我们添加一个非常简单的Web服务示例。
在项目my-frist-springboot的根包下(也可以创建子包)添加HelloController类,代码如下
@RestController("/hello")
public class HelloController {
@GetMapping
public String hello(@RequestParam(name = "name")String name){
return "您好," + name;
}
}
重启应用(IDE中直接运行主类MyFirstSpringbootApplication),然后浏览器地址栏中输入 http://localhost:8080/hello?name=张三, 页面输出如下图:
至此,第一个Spring Boot示例应用已完成创建并可运行。
下一节将整理介绍Spring Boot配置相关内容。
Sping Boot入门到实战之入门篇(二):第一个Spring Boot应用的更多相关文章
- Spring Boot从入门到精通(一)搭建第一个Spring Boot程序
Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程.该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置.通过 ...
- spring boot学习01【搭建环境、创建第一个spring boot项目】
1.给eclipse安装spring boot插件 Eclipse中安装Spring工具套件(STS): Help -> Eclipse Marketplace... 在Search标签或者Po ...
- spring boot 教程(一) 构建我的第一个Spring boot
Spring Boot特点 1. 创建独立的Spring应用程序 2. 嵌入的Tomcat,无需部署WAR文件 3. 简化Maven配置 4. 自动配置Spring 5. 提供生产就绪型功能,如指标, ...
- spring boot 学习(一)——在idea建立第一个spring boot项目
1.打开idea->点击file->点击new->点击project->点击Spring Initializr->点击default 2.这是springboot的启动类 ...
- 快速搭建一个Spring Boot + MyBatis的开发框架
前言:Spring Boot的自动化配置确实非常强大,为了方便大家把项目迁移到Spring Boot,特意总结了一下如何快速搭建一个Spring Boot + MyBatis的简易文档,下面是简单的步 ...
- Sping Boot入门到实战之入门篇(三):Spring Boot属性配置
该篇为Sping Boot入门到实战系列入门篇的第三篇.介绍Spring Boot的属性配置. 传统的Spring Web应用自定义属性一般是通过添加一个demo.properties配置文件(文 ...
- Sping Boot入门到实战之入门篇(一):Spring Boot简介
该篇为Spring Boot入门到实战系列入门篇的第一篇.对Spring Boot做一个大致的介绍. 传统的基于Spring的Java Web应用,需要配置web.xml, applicationCo ...
- Sping Boot入门到实战之入门篇(四):Spring Boot自动化配置
该篇为Sping Boot入门到实战系列入门篇的第四篇.介绍Spring Boot自动化配置的基本原理与实现. Spring Boot之所以受开发者欢迎, 其中最重要的一个因素就是其自动化配置特性 ...
- xgboost入门与实战(原理篇)
sklearn实战-乳腺癌细胞数据挖掘 https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campai ...
随机推荐
- 自动化运维工具SaltStack - 多环境(使用记录【state.sls 与 state.highstate】)
转自:https://segmentfault.com/a/1190000000513137 今天在进行 saltstack 多环境的时候,遇到一个问题,最终得到解决,好记性不如烂笔头,记录. 首先, ...
- 关于eclipse 与OpenCV 配置频繁报错的问题总结Program "C:/SDK/android-ndk-xxx/ndk-build.cmd" is not found in PATH报错的解决!
2018-01-3116:58:12 Program "C:/SDK/android-ndk-r8/ndk-build.cmd" is not found in PATH 今天这一 ...
- python_如何获取文件状态
案例: 在某项目中,需要获取文件状态,如: 文件的类型(普通文件.目录.符合连接.设备文件) 文件的访问权限 文件最后 访问.修改.节点状态 时间 普通文件大小 -- 如何解决? 方法1:通过os原始 ...
- elasticsearch java和_head插件对索引文档的增删改查
利用head插件: 1,创建索引并添加一条数据(yananindex:索引名称,yanantype:索引类型,1:索引id) 2.修改索引数据(索引id1不变,_version是对该索引数据执行了几次 ...
- Intel DPDK 全面解读
高性能网络技术 随着云计算产业的异军突起,网络技术的不断创新,越来越多的网络设备基础架构逐步向基于通用处理器平台的架构方向融合,从传统的物理网络到虚拟网络,从扁平化的网络结构到基于 SDN 分层的网络 ...
- ORACLE SQL脚本能否修改字段名称?
在看到标题时,你先想想:在ORACLE中能否修改一个表的某个字段名呢?如果能的话,你是否还记得SQL脚本如何写的呢,呵呵,写这个的目的是因为在论坛上看见许多信誓旦旦的说ORACLE中不能修改字段名称, ...
- Android Studio打包APK时出现 is not translated in "en" (English) [MissingTranslation]
错误信息: Error:(16) Error: "baidutieba_client_inavailable" is not translated in "en" ...
- Web安全之CSP
内容安全策略(Content-Security-Policy,简称CSP) 概念: 内容安全策略(CSP)是一种web应用技术用于帮助缓解大部分类型的内容注入攻击,包括XSS攻击和数据注入等,这些攻击 ...
- jQuery应用操作之---网页选项卡(tabs)
示例: <div class="tab"> <div class="tab_menu"> <ul> <li class ...
- python正则实现简单计算器
利用正则实现计算器 利用正则来实现简单计算器的功能,能够设计计算带括号的加减乘除运算.当然不使用eval等语句. 利用递归: import re from functools import reduc ...