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静态页面