spring boot 2

Posted 千面鬼手大人

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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 放在类上,

自定义修改版本

以上是关于spring boot 2的主要内容,如果未能解决你的问题,请参考以下文章

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图帮你记忆,Spring Boot 应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

一张图,理顺 Spring Boot应用在启动阶段执行代码的几种方式

Spring Boot部署JAR文件瘦身优化经验分享

Spring Boot 国际化(messages.properties)