SpringBoot笔记
前期配置
/maven工具setting.xml 的配置
1.创建maven工程
2.引入依赖
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.4.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
3.创建主程序
/**
* 主程序类
* @SpringBootApplication:这是一个SpringBoot应用
*/
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
SpringApplication.run(MainApplication.class,args);
}
}
4.编写业务代码
@RestController
public class HelloController {
@RequestMapping("/hello")
public String handle01(){
return "Hello, Spring Boot 2!";
}
}
5.测试,直接运行main方法
6.打成jar包,直接在目标服务器上运行即可。
配置绑定(就是类的对象创建并且赋值)
第一种方式:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wcQDFwt8-1661171210289)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220314191232418.png)]
第二种方式:
在配置类里面为User注册容器(比如通常要调用第三方库时,我们就可以采用这种方式进行配置绑定)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9dIgqD2a-1661171210290)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220314191314731.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RtF9blxz-1661171210290)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220314191517548.png)]
prefix表示具体的名字
查看自动配置那个没有生效
debug = true //properties里面进行配置
-
查看是否需要修改
-
l例如:spring.banner.image.location=classpath:banner.jpg
修改图片的
-
自动更新dev——tools
Ctrl+F9 即可
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
</dependency>
yaml配置文件
语法:k: v
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GrFPUv2D-1661171210291)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220315153703428.png)]
web开发
1,访问静态资源
原理:静态映射/**。
请求进来,先去找Controller看能不能处理。不能处理的所有请求又都交给静态资源处理器。静态资源也找到404/
2,静态资源访问前缀:前缀必须加上res/
spring:
mvc:
static-path-pattern: /res/**
3,欢迎页index.html and 图标
可以配置静态资源路径
但是不可以配置静态资源的访问前缀。否则导致index.html不能被默认访问,会失效
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-vInw8A6C-1661171210291)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220315190055640.png)]
4.静态资源配置原理
springboot启动时自动加载XXXConfiguration
HandlerInterceptor拦截器
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-wnHSddoQ-1661171210291)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220319161521640.png)]
1,编写一个拦截器,实现HanderInterceptor接口
2.拦截器注册到容器中
3.开始测试
拦截器原理
1、根据当前请求,找到HandlerExecutionChain【可以处理请求的handler以及handler的所有拦截器】
2、先来顺序执行所有拦截器的preHandle方法
· 1、如果当前拦截器prehandler返回为true。则执行下一个拦截器的preHandle
· 2、如果当前拦截器返回为false。直接﹑倒序执行所有已经执行了的拦截器的 afterCompletion;
3、如果任何一个拦截器返回false。直接跳出不执行目标方法
4、所有拦截器都返回True。执行目标方法
5、倒序执行所有拦截器的postHandle方法。
6、前面的步骤有任何异常都会直接倒序触发afterCompletion
7、页面成功渲染完成以后,也会倒序触发aftercompletion
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sEyD5Gh3-1661171210292)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220319184013748.png)]
上传原理
- 封装在MultipartAutoConfiguration里
- 自动配置好了StandardServletMultipartTesolver文件解析器
- 步骤
- 请求进来时,文件解析器判断isMultipart并封装(返回MulpartHttpServletRequest)文件上传请求
- 参数解析器来解析请求文件中 的文件内容封装成MultipartFile
- 将request文件封装成Map;MultipartValueMap
嵌入式Servlet容器
·原理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pnYYHBly-1661171210292)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220320100453758.png)]
切换服务器,
去除tomcat,然后引入其他服务器,在pom.xml里面配置。
定制化Servlet容器XXXXCustonizer
1.编写一个配置类,实现WebMvcConfiguration接口,即可定制化web功能
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xmcEXgDo-1661171210293)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220320102313870.png)]
2.加上Enable注解,即可全面接管springmvc,实现自定义配置。亻是不推荐使用。
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4hWgYZpF-1661171210293)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220320104629845.png)]
原理分析套路
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HSbrK9an-1661171210295)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220320102527872.png)]
数据访问
整合mybatis-plus
- 引入依赖
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.4</version>
2.参照mybatis的官方文档
junit5常用注解
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-70T9SAVg-1661171210296)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220320164856842.png)]
Profile环境切换
默认application.properties里面配置,当需要切换环境时,在默认环境里面配置spring.profiles.active=prod (指定激活的环境)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HmpVvVtT-1661171210297)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220320190205970.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-GdYsofTL-1661171210298)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220320192859035.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xhSsv3eZ-1661171210298)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220315210900018.png)]
学完springboot可以看看Github上面哟没有项目
i自定义starter
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BJGC9GCv-1661171210298)(C:\Users\Administrator\AppData\Roaming\Typora\typora-user-images\image-20220320194930136.png)]
图解设计模式
活的环境)
[外链图片转存中…(img-HmpVvVtT-1661171210297)]
[外链图片转存中…(img-GdYsofTL-1661171210298)]
[外链图片转存中…(img-xhSsv3eZ-1661171210298)]
学完springboot可以看看Github上面哟没有项目
i自定义starter
[外链图片转存中…(img-BJGC9GCv-1661171210298)]
图解设计模式