Spring Boot 2 入门
Spring Boot其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。
参考网上资料,一路踩了几个坑,终于搞出了第一个例子。
1、访问http://start.spring.io
我选择的是Spring Boot 2.0.5,点击Generate Project下载项目压缩包。

2、解压后,eclipse,Import -> Existing Maven Projects -> Next ->选择解压后的文件夹-> Finsh。
项目结构如下:

3、pom.xml中添加支持web的模块:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
一定要添加上面模块,否则使用@RestController注解的时候提示”RestController cannot be resolved to a type”。
说明:
Spring Boot 提供了很多starter模块,在项目中加入对应框架的starter依赖,可以免去到处寻找依赖包的烦恼。
官方starter模块命名规则为“spring-boot-starter-*”,其中*代表对应的类型。
常用的starter模块:
spring-boot-starter-web:构建Web应用,包含Spring MVC框架,默认内嵌Tomcat窗口。
spring-boot-starter-jpa:构建Spring Data JPA应用,使用Hibernate作为ORM框架。
spring-boot-starter-test:用于单元测试。
spring-boot-starter-redis:构建Spring Data Redis应用,使用Jedis框架操作Redis数据库。
spring-boot-starter-thymeleaf:构建一个使用Thymeleaf作为视图的Web应用。
4、编写第一个HelloWorld例子
@RestController
public class HelloWorldController { @RequestMapping("/")
public String index() {
return "Hello World!";
}
}
5、修改默认的端口号:
由于本机的8080已经被使用,所以修改一下端口号,打开resources目录的application.properties文件,里面加入自定义端口号(这里使用9001):
server.port = 9001
6、如何启动Spring Boot
方法一:
在SpringBoot项目中找到 有@SpringBootApplication注解的文件,即启动文件,本项目为DemoApplication.java文
件,右键 Run As -> Java Application
package com.example.demo; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication
public class DemoApplication { public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
方法二:
项目 -> 右键 -> Run As -> Maven build -> Goals里面输入spring-boot:run -> 点击run按钮。
启动后,Console窗口的输出有一行
[ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 9001 (http) with context path ''
说明项目正常启动,端口号为9001。
访问:
http://localhost:9001/
页面显示:Hello World!
8、实现热部署模式
(1)pom.xml文件增加
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
(2)工程配置
Project -> Build Automatically 选中
9、其它 (20191104添加)
(1)pom.xml添加依赖时,可以不指定版本,“spring-boot-starter-parent”会提供常用jar的版本管理,也可以指定,会覆盖官方默认的版本。
依赖版本查询地址:https://mvnrepository.com/
搜索框输入名称:如ribbon,结果如下:

点击列表的Ribbon进去,出现了所有版本列表

Spring Boot 2 入门的更多相关文章
- Spring Boot 快速入门
Spring Boot 快速入门 http://blog.csdn.net/xiaoyu411502/article/details/47864969 今天给大家介绍一下Spring Boot MVC ...
- Spring Boot快速入门(二):http请求
原文地址:https://lierabbit.cn/articles/4 一.准备 postman:一个接口测试工具 创建一个新工程 选择web 不会的请看Spring Boot快速入门(一):Hel ...
- Spring Boot -01- 快速入门篇(图文教程)
Spring Boot -01- 快速入门篇(图文教程) 今天开始不断整理 Spring Boot 2.0 版本学习笔记,大家可以在博客看到我的笔记,然后大家想看视频课程也可以到[慕课网]手机 app ...
- spring boot入门教程——Spring Boot快速入门指南
Spring Boot已成为当今最流行的微服务开发框架,本文是如何使用Spring Boot快速开始Web微服务开发的指南,我们将使创建一个可运行的包含内嵌Web容器(默认使用的是Tomcat)的可运 ...
- Spring Boot 从入门到实战汇总
之前写过几篇spring boot入门到实战的博文,因为某些原因没能继续. 框架更新迭代很快,之前还是基于1.x,现在2.x都出来很久了.还是希望能从基于该框架项目开发的整体有一个比较系统的梳理,于是 ...
- Spring Boot从入门到精通(二)配置GitHub并上传Maven项目
简单介绍一下GitHub,它是一个面向开源及私有软件项目的托管平台,因为只支持git作为唯一的版本库格式进行托管,故名GitHub. GitHub于2008年4月10日正式上线,除了Git代码仓库托管 ...
- Spring Boot从入门到精通(五)多数据源配置实现及源码分析
多数据源配置在项目软件中是比较常见的开发需求,Spring和Spring Boot中对此都有相应的解决方案可供大家参考.在Spring Boot中,如MyBatis.JdbcTemplate以及Jpa ...
- Spring Boot从入门到精通(六)集成Redis实现缓存机制
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value数据库,并提供多种语言 ...
- Spring Boot从入门到精通(七)集成Redis实现Session共享
单点登录(SSO)是指在多个应用系统中,登录用户只需要登录验证一次就可以访问所有相互信任的应用系统,Redis Session共享是实现单点登录的一种方式.本文是通过Spring Boot框架集成Re ...
- Spring Boot从入门到精通(八)日志管理实现和配置信息分析
Spring Boot对日志的处理,与平时我们处理日志的方式完全一致,它为Java Util Logging.Log4J2和Logback提供了默认配置.对于每种日志都预先配置使用控制台输出和可选的文 ...
随机推荐
- codeforces 984B Minesweeper
题意: 给出一个矩阵,如果一个格子是数字,那么与这个格子相邻的格子中有炸弹的数量必须等于这个格子中的数字: 如果一个格子是空地,那么这个格子的所有相邻的格子中就不能有炸弹. 判断这个矩阵是否合法. 思 ...
- 常对象与this指针
[1]示例代码 用代码说事,比较靠谱.请看下例: #include <QDebug> #include <QString> class Person { public: Per ...
- Tomcat JAR包冲突报错
查看Tomcat下有两个PDF加密的jar包如图: 删除这个bcprov-jdk14-138.jar包,然后重启Tomcat就好了. 这个jar包和Tomcat中的一个包冲突,反复调用导致的. 参考: ...
- HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhereVisitor
看到的最长的类名: HasThisTypePatternTriedToSneakInSomeGenericOrParameterizedTypePatternMatchingStuffAnywhere ...
- Linux基础命令---文本编辑tee
tee 将标准输入的内容复制到指定的文件中,同时在标准输出中显示. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法 ...
- nodejs typescript怎么发送get、post请求,如何获取网易云通信token
nodejs typescript怎么发送get.post请求,如何获取网易云通信token yarn add jshashesyarn add superagent检查语法yarn lint==== ...
- vue 去掉路由中的#
在router.js中修改, const router = new VueRouter({ mode: 'history', routes: [...] })
- 2019/3/20 wen 流程控制
- jdk和二进制 常量.变量
java中的jdk和jre之间的关系 二进制和十进制之间的转换问题 使用的方法是碾转相除法:就是让一个数除以2,取余数,除到商为0为止,然后倒着将余数组合起来. 入门案例 HelloWorld /* ...
- mycat高可用集群搭建
本文来源于:https://blog.csdn.net/u012758088/article/details/78741567 Mycat 本身是无状态的,可以用 HAProxy 或四层交换机等设备组 ...