这里写目录标题
@Conditional
判断容器中是否存在该组件
@ConditionalOnBean(): 当其他的某个组件存在的时候才注册该组件
@Conditional…() :条件装配
@ImportResource:导入配置文件资源
@Component + @ConfigurationProperties
@ConfigurationProperties: 配置绑定:
创建汽车实体类:
为了使@ConfigurationProperties注解生效,要加上@Component:让类添加到容器中,因为只有容器中的组件才能使用注解
在控制层自动注入car组件
普通的 Car car;只是创建一个Car对象,命名为car,加上@Autowired自动注入,是一个配置好的实例对象
在方法中返回这个car组件
@EnableConfigurationProperties: 开启某组件的属性配置功能
@SpringBootApplication:
- @SpringBootConfiguration
- @EnableAutoConfiguration
- @ComponentScan(com.hyqwsq.boot)
@EnableAutoConfiguration:
springboot自动配置原理流程:
查看自动配置报告:debug=ture
lombok依赖:
lombok简化日志开发:
伪热更新(自动加载):添加依赖后,更改静态资源或者代码不需要终止项目重新开启,只需要build project(Ctrl+F9)就可以直接重新加载,若是代码有改动就加载,如果没有就不会加载
比较适合用在静态页面开发
Spring Initailizr: 快速创建spring项目,项目初始化向导
核心功能:
示例:
创建一个实体类:
创建yaml文件,如果yaml和properties文件同时存在,那就同时生效
优先级:properties > yaml (springboot先加载properties)
测试:
注释处理器:写配置文件可以提供提示(与业务无关。方便开发)
开发完后要加上一下打包插件,作用是打包的时候不打包注释处理器,这只是开发的工具,不用打包到项目的jar包中
springbooot对sprintMVC自动配置了的部分:
web开发:
为啥每次都要删除这几个:
存放静态资源的目录:
测试:将静态资源放进去:
启动项目后在url上能正常访问
区分url请求是先请求静态资源还是controller: 先找controller,没找到就再交给静态处理器找静态资源
改变静态资源存放位置:改了以后访问其他路径的静态资源就无法访问,就要将静态资源放到指定的路径中才能重新访问到
134最后的webjars没怎么听懂是干什么的,就是看到导入一个webjars的依赖然后访问该依赖里面的静态资源:
欢迎页+Favicon:
在自己定义的静态资源路径下创建index.html文件:
小图标:
136:
137:
测试代码放到controller:
请求参数:
手动开启:
Rest风格总结(结合表单用):
所以下面是选择性开启:
139:
处理所有请求的开始:
CTRL+F12:打开结构
140:请求参数测试:
@PathVaribale(获取路径变量里面的值):
@RequestParam:(获取请求参数):
@CookieValue:
@RequestBody:获取请求体内容,只有post请求才有请求体,请求体里有很多keyValue,可以把整个请求体数据都拿到:
@RequestAttribute:获取request域属性,用在请求跳转的时候在原来的请求中setAttribute,继而再跳转到的请求中用注@RequestAttribute拿到属性或者用原生HttpServleRequest request的getAttribute方法拿到属性
@MatrixVariable:矩阵变量