springboot笔记(一~四章)入门、基础配置、整合视图技术、整合Web开发

 @PropertySource注解是spring context下面的属性注入注解 与@Value注解配合使用

springboot中提供了一个类型安全的属性注入

 @ConfigurationProperties 注解 是springboot提供的一个类型安全的注入 可以不用@Value 只用一个prefix提供前缀 会自动去寻找并注入

YAML和Properties的区别:

1.YMAL配置是有序的Properties配置是无序的

2.自定义的YAML目前暂时不支持使用注解直接注入到SpringBoot中

 ====================

05.自定义静态资源位置

 通过配置spring.resources 修改其中的staticLocation来配置自己的静态资源位置

只用在application.properties中配置一下,太简单了!

 ========================================

09-12.@ControllerAdvice

1.全局异常处理

 有一种是无返回值,使用PrintWrite 一种是用ModelAndView返回在页面中 myerror.html

2.预设全局数据

之后在所有的Controller中都可以获得这个值,key是其中的"info" 值是返回的map

 3.请求参数预处理

由于Book和Author里面有相同名字的参数,可能会导致post传输的时候参数错误,所以使用ModelAttribute来绑定一个参数例如图中的"a'"或者"b"

然后再在ControllerAdvice中利用@InitBinder来处理,binder能处理的事情很多,不止这一种..

 ==================================================

15.springboot自定义异常的数据

 继承DefaultErrorAttributes 然后实现其中的getErrorAttributes,然后添加自定义的异常信息

在页面中添加就可以了(这里以thtmeleaf为例):

16. 自定义异常视图:

 继承DefaultErrorViewResolver 然后重写其中的resolveErrorView 注意其中的map不能修改

===================================================

17.通过CROS实现跨域:

========================================================

19.在springboot中注册拦截器

 

 

 ============================

20-21.实现系统启动任务

(可以放在监听器里面,springboot为我们提供了了两个类来实现系统启动任务)

CommandLineRunner 实现该方法中的run方法,添加两个注解    args是程序运行的时候传进来的参数,可以通过命令行运行jar包的时候传入

@Order指定优先级 其中的数字越大 优先级越低

ApplicationRunner

 =======================

22.springboot整合Web基础组件

servlet filter listener

 

在application上加一个@ServletComponentScan注解来扫描servlet listener filter

23.Spring Boot 路径映射

其中 hello是一个界面  页面不需要渲染数据,只需要简单的返回值就不需要用Controller和GetMapping来返回,只是简单的路径映射(跳转

24.Spring Boot 中使用类型转换器

日期类型转换器  前端传一个日期 后端如何对日期的格式进行转换

25.Spring Boot 整合 AOP

把代码动态的切入到业务里面,例如发现某一个项目运行的很慢,想要检查一下是什么问题,挨个检查不靠谱。

首先导入aop依赖:

 然后定义一个切面 使用@Component和@Aspect 注解

 然后根据需要定义前置 后置 环绕 异常 返回 方法

 其中@Around可以是四个的整合,在return返回值中可以修改页面的返回数据

例如return proceed时:

return “www.javaboy.org“时:

26.Spring Boot 自定义欢迎页

 或者写之前学的路径映射也可以,一般static文件夹下有index会优先访问静态文件夹下的index页面,如果静态文件夹下面没有会访问thymeleaf下的动态页面

27.Spring Boot 自定义 favicon

自定义浏览器的图标 static路径下的.ico高于类路径(resources)路径下的优先级

28.Spring Boot 除去自动化配置

例如取消WebMvcConfiguration的自动化配置,其中配置了静态资源目录的自动扫描,若取消则不能访问到static目录下的.js静态页面

原文地址:https://www.cnblogs.com/doyi111/p/12543723.html