spring boot 2
作者:互联网
内嵌容器原理
内嵌容器--Tomcat
Tomcat.exe 运行java main
把servlet 注册到tomcat:
spring-boot-start-web
spring boot 把springMVC要做的 xml的配置DispatcherSevlet 字符乱码CharaterEncodingFliter ViewResolver视图解析器,文件上传解析器 那些。。。都不用配置了
而且只要是 主程序在的这个目录下所有的子包,都是可以自动扫描到的。
以往都要
现在是:
测试:
因为是代理对象
条件装备 @ConditionalOnBean(name = "") @ConditionalOnMissingBean(name = "")
如果xml配置了已经,可以 @ImportResource("classpath:beans.xml")
配置绑定
方法1:@Component + @ConfigurationProperties
方法2:@EnableConfigurationProperties在配置类中 + @ConfigurationProperties
自动配置的原理
防止有些用户配置的文件上传解析器不符合规范
@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;
}
给容器中加入了文件上传解析器;
响应式编程
java8 接口的默认实现,不用适配器adapter,可以直接默认实现。
@SpringBootApplication
SpringAppliction.run(M类.class, args);
@Controller
@ResquestMapping()
@ResponseBody 要以字符串的方式返回给浏览器,,,如果都 就放在类上,
@RestController = 替换了@Controller+@ResponseBody 放在类上,
自定义修改版本
标签:解析器,容器,MultipartResolver,xml,spring,配置,boot,上传 来源: https://www.cnblogs.com/ming-michelle/p/14792453.html