/*
* Copyright 2012-2021 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* https://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.springframework.boot.autoconfigure.web.servlet;
import java.time.LocalDateTime;
import java.time.LocalTime;
import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;
import java.time.format.FormatStyle;
import java.util.Collections;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Locale;
import java.util.Map;
import java.util.concurrent.Executor;
import java.util.concurrent.TimeUnit;
import java.util.function.Consumer;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.validation.ValidatorFactory;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.params.ParameterizedTest;
import org.junit.jupiter.params.provider.ValueSource;
import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration;
import org.springframework.boot.autoconfigure.http.HttpMessageConverters;
import org.springframework.boot.autoconfigure.http.HttpMessageConvertersAutoConfiguration;
import org.springframework.boot.autoconfigure.task.TaskExecutionAutoConfiguration;
import org.springframework.boot.autoconfigure.validation.ValidationAutoConfiguration;
import org.springframework.boot.autoconfigure.validation.ValidatorAdapter;
import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter;
import org.springframework.boot.context.properties.IncompatibleConfigurationException;
import org.springframework.boot.test.context.assertj.AssertableWebApplicationContext;
import org.springframework.boot.test.context.runner.ContextConsumer;
import org.springframework.boot.test.context.runner.WebApplicationContextRunner;
import org.springframework.boot.web.embedded.tomcat.TomcatServletWebServerFactory;
import org.springframework.boot.web.server.WebServerFactoryCustomizerBeanPostProcessor;
import org.springframework.boot.web.servlet.FilterRegistrationBean;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.boot.web.servlet.context.AnnotationConfigServletWebServerApplicationContext;
import org.springframework.boot.web.servlet.filter.OrderedFormContentFilter;
import org.springframework.boot.web.servlet.server.ServletWebServerFactory;
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
import org.springframework.core.convert.ConversionService;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.Resource;
import org.springframework.core.task.AsyncTaskExecutor;
import org.springframework.format.Parser;
import org.springframework.format.Printer;
import org.springframework.format.support.FormattingConversionService;
import org.springframework.http.CacheControl;
import org.springframework.http.HttpHeaders;
import org.springframework.http.MediaType;
import org.springframework.http.converter.HttpMessageConverter;
import org.springframework.mock.web.MockHttpServletRequest;
import org.springframework.test.util.ReflectionTestUtils;
import org.springframework.util.StringUtils;
import org.springframework.validation.Validator;
import org.springframework.validation.beanvalidation.LocalValidatorFactoryBean;
import org.springframework.web.accept.ContentNegotiationManager;
import org.springframework.web.accept.ContentNegotiationStrategy;
import org.springframework.web.accept.ParameterContentNegotiationStrategy;
import org.springframework.web.bind.support.ConfigurableWebBindingInitializer;
import org.springframework.web.context.request.ServletWebRequest;
import org.springframework.web.context.support.AnnotationConfigWebApplicationContext;
import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
import org.springframework.web.filter.FormContentFilter;
import org.springframework.web.filter.HiddenHttpMethodFilter;
import org.springframework.web.filter.RequestContextFilter;
import org.springframework.web.servlet.DispatcherServlet;
import org.springframework.web.servlet.FlashMap;
import org.springframework.web.servlet.FlashMapManager;
import org.springframework.web.servlet.HandlerAdapter;
import org.springframework.web.servlet.HandlerExceptionResolver;
import org.springframework.web.servlet.HandlerMapping;
import org.springframework.web.servlet.LocaleResolver;
import org.springframework.web.servlet.ThemeResolver;
import org.springframework.web.servlet.View;
import org.springframework.web.servlet.ViewResolver;
import org.springframework.web.servlet.config.annotation.AsyncSupportConfigurer;
import org.springframework.web.servlet.config.annotation.ContentNegotiationConfigurer;
import org.springframework.web.servlet.config.annotation.CorsRegistry;
import org.springframework.web.servlet.config.annotation.EnableWebMvc;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurer;
import org.springframework.web.servlet.handler.AbstractHandlerExceptionResolver;
import org.springframework.web.servlet.handler.HandlerExceptionResolverComposite;
import org.springframework.web.servlet.handler.SimpleUrlHandlerMapping;
import org.springframework.web.servlet.i18n.AcceptHeaderLocaleResolver;
import org.springframework.web.servlet.i18n.FixedLocaleResolver;
import org.springframework.web.servlet.mvc.method.annotation.ExceptionHandlerExceptionResolver;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter;
import org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerMapping;
import org.springframework.web.servlet.mvc.support.DefaultHandlerExceptionResolver;
import org.springframework.web.servlet.resource.CachingResourceResolver;
import org.springframework.web.servlet.resource.CachingResourceTransformer;
import org.springframework.web.servlet.resource.ContentVersionStrategy;
import org.springframework.web.servlet.resource.CssLinkResourceTransformer;
import org.springframework.web.servlet.resource.EncodedResourceResolver;
import org.springframework.web.servlet.resource.FixedVersionStrategy;
import org.springframework.web.servlet.resource.PathResourceResolver;
import org.springframework.web.servlet.resource.ResourceHttpRequestHandler;
import org.springframework.web.servlet.resource.ResourceResolver;
import org.springframework.web.servlet.resource.ResourceTransformer;
import org.springframework.web.servlet.resource.VersionResourceResolver;
import org.springframework.web.servlet.resource.VersionStrategy;
import org.springframework.web.servlet.support.AbstractFlashMapManager;
import org.springframework.web.servlet.support.SessionFlashMapManager;
import org.springframework.web.servlet.theme.FixedThemeResolver;
import org.springframework.web.servlet.view.AbstractView;
import org.springframework.web.servlet.view.ContentNegotiatingViewResolver;
import org.springframework.web.util.UrlPathHelper;
import static org.assertj.core.api.Assertions.assertThat;
import static org.mockito.Mockito.mock;
/**
* Tests for {@link WebMvcAutoConfiguration}.
*
* @author Phillip Webb
* @author Dave Syer
* @
spring-boot-2.5.0.zip
需积分: 0 95 浏览量
更新于2024-04-21
收藏 13.12MB ZIP 举报
Spring Boot 是一个由 Pivotal 团队开发的 Java 框架,旨在简化初始设置和操作,使得基于 Spring 的应用程序开发变得更加容易。它通过自动配置、嵌入式服务器、起步依赖以及“开箱即用”的特性,极大地提高了开发效率。在本案例中,我们关注的是 Spring Boot 的 2.5.0 版本。
Spring Boot 2.5.0 是该框架的一个重要版本,引入了许多新功能和改进。这个版本遵循了 Spring Framework 5.x 系列,确保了与最新 Spring 功能的兼容性。以下是一些主要的更新和特性:
1. **依赖升级**:Spring Boot 2.5.0 更新了对 Spring Framework、Spring Data、Spring Security 和其他依赖库的版本,确保使用最新的稳定版本,以提高性能和安全性。
2. **Spring Initializr 更新**:初始izr项目生成器现在默认生成基于Java 11的项目,以支持更现代的语言特性。同时,它还增加了对LTS(长期支持)Java版本的支持。
3. **Spring WebFlux增强**:此版本增强了对Reactive编程的支持,特别是Spring WebFlux模块,提供了更好的错误处理机制和反应式客户端库的支持。
4. **Actuator改进**:Actuator是Spring Boot的监控和健康检查组件,2.5.0版改进了其指标收集和暴露的方式,增强了安全性,比如默认关闭了 `/env` 端点以防止敏感信息泄露。
5. **自动配置调整**:Spring Boot 2.5.0 对自动配置进行了一些调整,比如在没有明确配置的情况下,会默认禁用一些可能导致安全风险的服务。
6. **Spring Data 支持**:这个版本增加了对Spring Data的最新版本的支持,包括新的数据存储技术,如Cassandra和MongoDB,以及对现有存储的改进。
7. **日志框架升级**:Spring Boot 2.5.0 更新了内置的日志框架,比如Logback和Log4j2,提供了更好的日志配置和性能。
8. **Gradle插件更新**:Spring Boot Gradle插件也得到了改进,提供更灵活的构建选项,包括对Java模块系统(Jigsaw)的支持。
9. **安全更新**:此版本修复了许多安全漏洞,以保护应用程序免受潜在攻击,这包括依赖库的安全更新和框架自身的安全增强。
10. **文档改进**:Spring Boot 2.5.0 的官方文档进行了大量更新,提供了更详细、更清晰的教程和参考指南,帮助开发者更好地理解和使用新功能。
为了开始使用 Spring Boot 2.5.0,你可以从官方仓库或提供的链接下载 zip 文件“spring-boot-2.5.0”。解压后,你可以使用IDEA、Eclipse等集成开发环境导入项目,或者使用Maven或Gradle构建工具创建新项目。在你的项目中,你可以利用Spring Boot的起步依赖来快速添加需要的功能,如数据库连接、Web服务、邮件服务等。
Spring Boot 2.5.0 是一个强大且稳定的版本,对于那些希望简化Spring应用开发的开发者来说,它提供了一个理想的起点。如果你遇到任何问题或需要特定版本,可以通过提供的联系方式获取帮助。在使用过程中,记得关注官方文档和社区更新,以便获取最新的最佳实践和解决方案。
段子手-168
- 粉丝: 4835
- 资源: 2745
最新资源
- 基于自抗扰控制器ADRC的永磁同步电机FOC 1.转速环采用ADRC,和传统PI进行对比来分析ADRC控制性能的优越性 对ADRC中的ESO进行改进,进一步提高了ADRC性能; 2.三种速度控制器进
- 基于Python实现对房价的预测源码+全部数据+报告文档(期末大作业).zip
- openssl-1.1.1l.zip
- 基于Python实现对房价的预测源码+全部数据(期末大作业).zip
- 《Spark大数据分析源码解析与实例详解》图书配套实例资源.zip
- 一个非常小巧,绿色, 好用 的发包工具,支持tcp/udp, 支持服务端和客户端,支持自定义 发包内容
- 基于线性扩张状态观测器和滑模观测器的永磁同步电机无感FOC 1.采用线性扩张状态观测器和滑模观测器实现中高速下无感FOC;两种不同的无感算法进行对比;锁相环技术标幺化处理提取转子位置信息; 2.转速环
- 一个大数据实时流处理日志分析系统 Demo.zip
- comsol变质量注浆理论,根据魏建平《裂隙煤体注浆浆液扩散规律及变质量渗流模型研究》,考虑不同注浆压力,进行了不同压力下的注浆封堵模拟,沉积颗粒浓度随着注浆压力增大会变大,渗透率负相关 模型 模型
- 关于wlinux定制系统安装系统日志syslog、net-tools、chroynd等系统工具说明
- 一个开源的全栈大数据项目,主要包含实时数据采集,机器学习,大数据处理,前端可视化.zip
- Chinese.isl
- 抖音直播录制免费软件,直播流录制,自动检测开播
- 一个轻量级的大屏数据展示方案.zip
- 污水处理出水总磷预测中的正则化回声状态网络研究
- 基于LADRC-非线性ESO的永磁同步电机无感FOC 电机参数采用袁磊老师书上的 1.采用非线性扩张状态观测器ESO实现中高速下无感FOC;对锁相环技术标幺化处理提取转子位置信息; 2.转速环采用线性