内嵌容器原理
内嵌容器--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 放在类上,
自定义修改版本