








@Conditional

判断容器中是否存在该组件

@ConditionalOnBean(): 当其他的某个组件存在的时候才注册该组件
@Conditional…() :条件装配



@ImportResource:导入配置文件资源

@Component + @ConfigurationProperties
@ConfigurationProperties: 配置绑定:
创建汽车实体类:




为了使@ConfigurationProperties注解生效,要加上@Component:让类添加到容器中,因为只有容器中的组件才能使用注解


在控制层自动注入car组件
普通的 Car car;只是创建一个Car对象,命名为car,加上@Autowired自动注入,是一个配置好的实例对象

在方法中返回这个car组件

@EnableConfigurationProperties: 开启某组件的属性配置功能

@SpringBootApplication:











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文件:

小图标:










测试代码放到controller:

请求参数:

手动开启:


Rest风格总结(结合表单用):


所以下面是选择性开启:


处理所有请求的开始:

CTRL+F12:打开结构






@PathVaribale(获取路径变量里面的值):


@RequestParam:(获取请求参数):


@CookieValue:

@RequestBody:获取请求体内容,只有post请求才有请求体,请求体里有很多keyValue,可以把整个请求体数据都拿到:


@RequestAttribute:获取request域属性,用在请求跳转的时候在原来的请求中setAttribute,继而再跳转到的请求中用注@RequestAttribute拿到属性或者用原生HttpServleRequest request的getAttribute方法拿到属性

@MatrixVariable:矩阵变量

