springboot基础

依赖管理

几乎声明了开发中所运用到的场景,我们只需要查询需要导入的jar包,不写版本号

 

自动配置

springbootApplication(scanBasePackages="xx.xx")

 

@Conditional
条件装配,满足条件才创建组件

 

@ConfigurationProperties(prefix="mycar")
配置绑定
@EnableConfigurationProperties(Car.class)

 

自动配置原理

springboot的核心配置功能
@SpringbootConfiguration:代表当前是个配置类
@ComponentScan:指定扫描哪些包下的配置

 

@EnableAutoConfiguration:@Import({AutoConfigurationImportSelector.class})
从META-INF/spring.factories位置来加载一个文件。
默认扫描我们当前系统里面所有META-INF/spring.factories位置的文件
spring-boot-autoconfigure-2.3.4.RELEASE.jar包里面也有META-INF/spring.factories

 

按需开启自动配置
们127个场景的所有自动配置启动的时候默认全部加载。xxxxAutoConfiguration
按照条件装配规则(@Conditional),最终会按需配置。

 

修改默认配置

@Bean
@ConditionalOnBean(MultipartResolver.class)  //容器中有这个类型组件
@ConditionalOnMissingBean(name = DispatcherServlet.MULTIPART_RESOLVER_BEAN_NAME) //容器中没有这个名字 multipartResolver 的组件
public MultipartResolver multipartResolver(MultipartResolver resolver) {
//给@Bean标注的方法传入了对象参数,这个参数的值就会从容器中找。
//SpringMVC multipartResolver。防止有些用户配置的文件上传解析器不符合规范
// Detect if the user has created a MultipartResolver but named it incorrectly
return resolver;
}
给容器中加入了文件上传解析器;

 

配置文件

key: value
kv之间有空格、大小写敏感、缩进不能使用tab,只能使用空格、缩进的空格数不重要,只需要相同层级的元素对齐就行

 

web开发

静态资源放在/static、/public、/resources、/META-INF/resources
访问原理:先去找Controller能不能处理请求,如果不能就交给静态资源管理器处理、如果也处理不到则响应404

 

请求参数
使用Rest风格支持对接口的访问
核心Filter:HinddenHttpMethodFilter
用法:表单methoud=post,隐藏参数_method=put
springboot中配置开启功能,默认不开启

 

自定义隐藏参数_method=put
重新向spring中注入HiddenHttpMethodFilter
然后new出HiddenHttpMethodFilter对象,set你想定义的参数

posted @ 2023-02-12 14:48  sugarstar  阅读(19)  评论(0)    收藏  举报