SpringBoot基础入门

1.为什么使用Spring Boot

在这里插入图片描述

2.构建Spring Boot项目

2.1构建项目

方式1:使用官方初始化方法:https://start.spring.io/
方式2:使用IDE方式:
idea:
在这里插入图片描述

STS
在这里插入图片描述

Spring Initializr
Web方式
IDE方式

项目结构

启动类
@SpringBootApplication
@Configuration
@EnableAutoConfiguration
@ComponentScan

2.2运行项目
IDE运行
jar包运行:java -jar
maven插件:mvn spring-boot:run
2.3新建hellowoeld
sts pom报错:
<maven-jar-plugin.version>3.1.1</maven-jar-plugin.version>

3.热部署

使用spring-boot-devtools,一种自动重新打包组件
1.在pom中直接引入依赖

org.springframework.boot
spring-boot-devtools
true

2.idea中进行自动构建相关配置
2.1
在这里插入图片描述
2.2
alt+shift+ctrl+/
在这里插入图片描述
在这里插入图片描述

4.Spring Boot配置文件优先级

4.1 多配置文件切换
生产、测试、开发有不同的配置文件
命令行 : --spring.profiles.active=dev
配置文件 : spring.profiles.active=dev

4.2配置文件书写
设置端口号
设置全局变量,使用@Value接收
@Value("${avatarPath}")

4.3配置文件加载位置及优先级

a、内部配置:
•配置文件的优先级(由高到低)
•工程根目录:file:./config/
•工程根目录的config目录:file:./
•类路径的config目录:/src/main/resources/config/
•类路径:src/main/resources/ (推荐使用)
高优先级配置会覆盖低优先级配置
b、外部配置:
例如:命令行参数,详情见官方文档
–server.port=8087
java -jar class7-web-0.0.1-SNAPSHOT.jar --server.port=8081
外部优先级高于内部

5.日志

5.1 SLF4J——Simple Logging Facade For Java
SLF4J定义了统一的日志抽象接口,而真正的日志实现则是在运行时决定的——它提供了各类日志框架的binding。

org.springframework.boot spring-boot-starter-logging

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
private Logger log = LoggerFactory.getLogger(HelloWorldController.class);

5.2日志格式
•时间日期:精确到毫秒
•日志级别:ERROR, WARN, INFO, DEBUG or TRACE
•进程ID
•分隔符:— 标识实际日志的开始
•线程名:方括号括起来(可能会截断控制台输出)
•Logger名:通常使用源代码的类名
•日志内容

一条简单的INFO日志:
2019-11-19 13:04:20.533 INFO 121100 — [nio-8080-exec-6] c.c.t.t.controller.HelloWorldController : HelloWorldController-index-打印日志:hello,world

5.3日志文件
日志输出
输出到控制台
默认情况下,Spring Boot将日志输出到控制台
输出到文件
在application.properties中设置logging.file或logging.path属性
(2.2.1版本为logging.file.path)
默认情况下,日志文件的大小达到10MB时会切分一次,可自行设定(logging.file.max-size)

6.单元测试

6.1.引入依赖

org.springframework.boot
spring-boot-starter-test
test

查看spring-boot-starter-test结构

6.2 业务代码测试

新建test类:
在需要测试的类上使用ctrl+shift+t自动创建测试类(idea)
或者新建测试类:
以要进行测试的类开头,以Test结尾
在这里插入图片描述
类赋予:
@SpringBootTest注解:
1.表示当前加载的是SpringBoot测试类、
2.加载SpringBoot启动 类,启动SpringBoot

方法赋予:
@Test注解

引入需要测试的类,赋予@Autowired注解
在测试方法中测试要测试的方法
6.3 接口Api测试

使用postman测试
在这里插入图片描述
dto转json

com.alibaba
fastjson
1.2.62

7.Actuator(监控与管理)

1.pom文件
依赖:

org.springframework.boot
spring-boot-starter-actuator


org.springframework.boot
spring-boot-starter-web

浏览器打开链接http://localhost:8080/actuator/
actuator
/actuator/health

默认,只有health和info通过HTTP暴露了出来
在这里插入图片描述
2.常用配置

如果要看到所有支持的状态查询,需要配置
也可自定义暴露端点
management.endpoints.web.exposure.include=*

显示所有健康状态,需要加配置
management.endpoint.health.show-details=always
健康状况中显示当前磁盘空间,redis,db等健康状况
在这里插入图片描述
以beans为例
在这里插入图片描述
我们可以看到在每个Bean 中都包含了下面这些信息。
bean: Bean 的名称。
scope: Bean 的作用域。
type: Bean 的 Java 类型。
resource: class 文件的具体路径。
dependencies: 依赖的 Bean 名称

启用端点

默认情况下,除shutdown以外的所有端点均已启用。要配置单个端点的启用,请使用management.endpoint..enabled属性。

management.endpoint.shutdown.enabled=true

另外可以通过management.endpoints.enabled-by-default来修改全局端口默认配置,以下示例启用info端点并禁用所有其他端点:

management.endpoints.enabled-by-default=false
management.endpoint.info.enabled=true

3.chrome展示json数据

打开 https://github.com ;
搜索 jsonView 链接:https://github.com/search?utf8=%E2%9C%93&q=jsonview;
选择需要的插件(我是选这个gildas-lormeau/JSONView-for-Chrome);
点击【Download Zip】,插件下载完成,解压缩到相应目录(D:\Download\JSONView-for-Chrome-master);
安装,打开chrome - 扩展程序 (地址栏输入chrome://extensions/);
右上角,选中“开发模式”;
点击"加载正在开发的扩展程序…" -> 选择插件目录(D:\Download\JSONView-for-Chrome-master\WebContent);
安装完成,重新加载 (Ctrl+R)。
4.翻译 endpoints
在这里插入图片描述

5.文档地址
https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/html/production-ready-features.html#production-ready

8.前后端分离中restful规范,怎么分工合作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值