SpringBoot快速入门(必知必会)
是什么?能做什么
- SpringBoot是一个快速开发脚手架
- 快速创建独立的、生产级的基于Spring的应用程序
SpringBoot必知必会
快速创建应用
需求
能够浏览器访问返回HelloWord
使用Spring Initializr快速创建SpringBoot应用
- File -> new -> Project -> 左侧选择Spring Initializr -> 选择jdk -> Next
- 配置项目信息 -> next
- 添加Spring Web -> 选择SpringBoot版本
- 选择项目位置 -> Finish
我们创建时使用的是start.spring.io这是Spring官方提供的构建器,也可以直接访问网址创建项目。下载压缩包然后导入IDE工具。
Custom是使用其他的构建地址,如果你公司不能访问外网就可以使用一个自己的构建地址,构建器的构建方式在官网有提供。
- 在启动类SpringBootApplication同级建立controller包编写HelloController类
@RestControllerpublic class HelloController {
@GetMapping("/hello")
public Object sayHello(){
return "HelloWord";
}
}
- 启动SpringBootApplication -> 浏览器访问http://localhost:8080/hello -> 启动成功
- 命令行启动jar,执行maven clean install 打包应用程序,会在target中生成jar包,执行
java -jar xxx.jar
就可以启动项目了
应用组成分析
- 依赖 : pom.xml
- 注解 : @SpringBootApplication
- 配置 : application.yml
- static : 静态资源文件,
- templates:模板引擎
开发三板斧
加依赖
整合相关资源一般是添加该资源的starter包官方依赖一般是
spring-boot-starter-xxx
非官方依赖一般是
xxx-spring-boot-starter
写注解
各种注解的编写写配置
application.yml添加配置信息
SpringBoot Actuator监控
是什么
为应用添加监护能力
整合Actuator
- 加依赖
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId></dependency>
在不写注解和配置的情况下是可以启动actuator的,启动项目后显示
日志显示信息为暴露了两个端口,其中base path为“/actuator”
我们访问http://localhost:8080/actuator
可以看到如下信息
其中"/actuator"端点能够显示出所有的端点信息
“/health”端点,健康检查,检查应用的资源
那具体检查的是什么呢,在application.yml中添加一行配置信息(不添加配置信息默认只显示状态)
展示Health端点的详细信息
management:
endpoint:
health:
show-details: always
health有四种状态:
UP:正常。
DOWN:遇到了问题,不正常。
OUT_OF_SERVICE:资源未在使用,或者不该去使用。
UNKNOWN:不知道
“/info”端点,描述应用,展示应用的一些信息
info:
app-name: 莫逸风的测试系统
user-email: 123@123.com
访问info端点就会将相关信息展示出来。
暴露端点
management:
endpoint:
health:
show-details: always
endpoints:
web:
exposure:
include: *
"*"代表所有的端点,可以使用aaa,bbb导入多个端点,都好隔开
配置管理
application.application
application.yml
实际项目中配置管理的常用方式
- 配置文件
- 环境变量
在启动Tomcat时配置环境变量
在配置文件中通过${name}取到环境变量
在命令行添加环境变量
java -jar hello_spring_boot-0.0.1-SNAPSHOT.jar --name="莫逸风"
- 外部配置文件
spring boot能够读取和jar包相同路径的配置文件,而且此配置文件比,jar包内部的配置文件优先级更高 - 命令行参数
修改端口又不想修改配置文件可以在这里配置
命令行方式
java -jar hello_spring_boot-0.0.1-SNAPSHOT.jar --server.port=8081
Profile
不同环境使用不同的配置
# 通用配置不管在什么环境下都生效的配置
management:
endpoint:
health:
show-details: always
info:
app-name: ${name}
user-email: 123@123.com
---
# profile=x的专用属性,也就是某个环境下的专用属性
spring:
profiles: devinfo:
text: dev
---
# profile=y的专用属性,也就是某个环境下的专用属性
spring:
profiles: prod
info:
text: prod
利用三短横线将配置隔开,并配置profile属性在启动时指定profile属性
不指定默认启动profile=default的配置
可以在通用配置中添加
spring:
profiles:
active: dev
默认启动的就是dev配置了
proterties没有三个中划线的语法,所有使用文件名来限制
application.proterties
application-dev.proterties
application-prod.proterties
SpringBoot快速入门(必知必会)的更多相关文章
- 脑残式网络编程入门(三):HTTP协议必知必会的一些知识
本文原作者:“竹千代”,原文由“玉刚说”写作平台提供写作赞助,原文版权归“玉刚说”微信公众号所有,即时通讯网收录时有改动. 1.前言 无论是即时通讯应用还是传统的信息系统,Http协议都是我们最常打交 ...
- .NET零基础入门09:SQL必知必会
一:前言 仿佛到了更进一步的时候了,每一个程序员迟早都会遇到数据存储的问题.我们拿什么来存储程序产生的数据?举例来说,用什么来存储我们的打老鼠游戏每次的成绩呢?选择如下: 1:内存中.缺点,退出游戏, ...
- 2015 前端[JS]工程师必知必会
2015 前端[JS]工程师必知必会 本文摘自:http://zhuanlan.zhihu.com/FrontendMagazine/20002850 ,因为好东东西暂时没看懂,所以暂时保留下来,供以 ...
- [ 学习路线 ] 2015 前端(JS)工程师必知必会 (2)
http://segmentfault.com/a/1190000002678515?utm_source=Weibo&utm_medium=shareLink&utm_campaig ...
- Android程序员必知必会的网络通信传输层协议——UDP和TCP
1.点评 互联网发展至今已经高度发达,而对于互联网应用(尤其即时通讯技术这一块)的开发者来说,网络编程是基础中的基础,只有更好地理解相关基础知识,对于应用层的开发才能做到游刃有余. 对于Android ...
- 迈向高阶:优秀Android程序员必知必会的网络基础
1.前言 网络通信一直是Android项目里比较重要的一个模块,Android开源项目上出现过很多优秀的网络框架,从一开始只是一些对HttpClient和HttpUrlConnection简易封装使用 ...
- 《SQL必知必会》学习笔记(一)
这两天看了<SQL必知必会>第四版这本书,并照着书上做了不少实验,也对以前的概念有得新的认识,也发现以前自己有得地方理解错了.我采用的数据库是SQL Server2012.数据库中有一张比 ...
- SQL 必知必会
本文介绍基本的 SQL 语句,包括查询.过滤.排序.分组.联结.视图.插入数据.创建操纵表等.入门系列,不足颇多,望诸君指点. 注意本文某些例子只能在特定的DBMS中实现(有的已标明,有的未标明),不 ...
- Visual Studio 使用及调试必知必会
原文:Visual Studio 使用及调试必知必会 一:C# CODING 技巧 1:TODO 然后 CTRL + W + T,打开任务列表,选中 Comments,就会显示所有待做的任务 2: ...
随机推荐
- 团队开发day03
完成安卓的登录和注册界面的设计,进行服务器端的开发,设计javabean实体 映射,零售商 ,商品,品牌商,订单类的构建 遇到问题:安卓发起网络请求,客户端回应请求,数据处理设置. 使用传统的方法 / ...
- Python+Requests+Xpath(解析)爬取某站点简历图片(数据分析三)
1.环境安装 pip install lxml 2.解析原理 使用通用爬虫爬取网页数据 实例化etree对象,且将页面数据加载到该对象中 使用xpath函数结合xpath表达式进行标签定位和指定数据提 ...
- Leetcode13. 罗马数字转整数Leetcode14. 最长公共前缀Leetcode15. 三数之和Leetcode16. 最接近的三数之和Leetcode17. 电话号码的字母组合
> 简洁易懂讲清原理,讲不清你来打我~ 输入字符串,输出对应整数 ![在这里插入图片描述](https://img-blog.csdnimg.cn/63802fda72be45eba98d9e4 ...
- 架构之:REST和HATEOAS
目录 简介 HATEOAS简介 HATEOAS的格式 HATEOAS的Spring支持 总结 简介 我们知道REST是一种架构方式,它只是指定了六种需要遵循的基本原则,但是它指定的原则都比较宽泛,我们 ...
- Oracle19c 如何用rman duplicate 克隆一个数据库。(Backup-Based, no achive log)
Oracle19c 如何用rman duplicate 克隆一个数据库. 首先克隆有两种方法,一种是Backup-Based,一种是Active方式.官网文档链接https://docs.oracle ...
- 第2天 第一个程序&IDEA安装&Java基础语法
第一个程序 Hello,World! 随便新建一个文件夹,存放代码 新建一个Java文件 文件后缀名为java Hello.java [注意点]系统可能没有显示后缀名,必须手动打开 编写代码 publ ...
- 跳转页面携带数据方法 js
跳转页面 代码 function returnParent() { var arrReturn = new Array(); var tSel = LAAccountsGrid.getSelNo(); ...
- Sqlserver 关于varchar(max) 笔记
看SQL server的版本,SQLserver2005以上 的nvarchar(max) 可以存放2G的内容,所以要是 SQL2005以上的nvarchar(max)足够你用的了.用nvarchar ...
- NAR | 张勇洪/周超/刘小云团队合作揭示2-羟基异丁酰化修饰调控光暗适应性反应机制
景杰生物 | 报道 组蛋白赖氨酸的翻译后修饰是表观遗传学密码的重要组成部分,它们动态地调节染色质的结构和功能,影响基因表达活性,参与生物体的环境适应性调控.赖氨酸酰化修饰家族(Acylation) ...
- Markdown 学习(语法)
标题 井号加空格(# ) 几个#就是几级标题 字体 粗体 (两边两个*) 斜体 (两边一个*) 斜体加粗 (两边三个*) 中间斜线 (两个波浪号~) 引用 选择引用,一个箭头 > 加空格 分割线 ...