其他分享
首页 > 其他分享> > spring boot 2

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