/*
* Copyright 2012-2023 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.ArrayList;
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 jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.ValidatorFactory;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.AfterReturning;
import org.aspectj.lang.annotation.Aspect;
import org.assertj.core.api.InstanceOfAssertFactories;
import org.junit.jupiter.api.Test;
import org.springframework.aop.support.AopUtils;
import org.springframework.boot.autoconfigure.AutoConfigurations;
import org.springframework.boot.autoconfigure.aop.AopAutoConfiguration;
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.autoconfigure.web.servlet.WebMvcAutoConfigurationTests.OrderedControllerAdviceBeansConfiguration.HighestOrderedControllerAdvice;
import org.springframework.boot.autoconfigure.web.servlet.WebMvcAutoConfigurationTests.OrderedControllerAdviceBeansConfiguration.LowestOrderedControllerAdvice;
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.Ordered;
import org.springframework.core.annotation.Order;
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.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.ParameterContentNegotiationStrategy;
import org.springframework.web.bind.annotation.ControllerAdvice;
import org.springframework.web.bind.support.ConfigurableWebBindingInitializer;
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.method.ControllerAdviceBean;
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.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.method.annotation.ResponseEntityExceptionHandler;
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.spri
spring-boot-3.2.3.zip
需积分: 0 148 浏览量
更新于2024-04-21
收藏 15.13MB ZIP 举报
SpringBoot 是一个由 Pivotal 团队开发的 Java 框架,它旨在简化创建独立的、生产级别的基于 Spring 的应用程序。通过自动配置、起步依赖和运行时嵌入式服务器,SpringBoot 提供了一个快速启动和运行的应用开发体验。
在 SpringBoot 3.2.3 版本中,我们可以期待以下核心知识点:
1. **自动配置**:SpringBoot 的一大特点就是它的自动配置能力。它根据项目中的依赖自动设置 Bean,减少了手动配置的工作量。例如,如果你的项目包含了 `spring-boot-starter-web`,它会自动配置 Tomcat 作为嵌入式服务器,并启用 Spring MVC。
2. **起步依赖(Starter POMs)**:SpringBoot 通过一系列的起步依赖模块,使得开发者可以方便地引入所需功能。如 `spring-boot-starter-data-jpa` 可以快速配置数据访问层,支持 JPA 和 Hibernate。
3. **健康检查与 Actuator**:SpringBoot Actuator 提供了一组端点,用于监控和管理应用程序,包括健康检查、指标收集、审计、日志管理和应用信息。
4. **内嵌式服务器**:SpringBoot 支持内嵌多种 Web 服务器,如 Tomcat、Jetty 等,让应用可以直接运行为可执行 JAR 或 WAR,无需额外部署步骤。
5. **Web 开发**:SpringBoot 支持 RESTful 风格的 Web 应用开发,可以使用 Spring MVC 或者 WebFlux 框架。同时,SpringBoot 对 Thymeleaf、Freemarker、JSP 等模板引擎也有良好支持。
6. **数据访问**:SpringBoot 提供了对 JDBC、JPA、MyBatis 等多种数据访问技术的集成,使得数据库操作变得简单。例如,使用 JPA 和 Hibernate,可以方便地进行 ORM 映射和事务管理。
7. **安全控制**:SpringBoot 自带了 Spring Security,提供了用户认证和授权的功能,简化了安全配置。
8. **测试支持**:SpringBoot 提供了测试工具,如 `@SpringBootTest` 注解,便于编写集成测试和端到端测试。
9. **环境配置**:通过 `application.properties` 或 `application.yml` 文件,可以灵活配置应用的属性,还可以根据环境(如 development、production)加载不同的配置。
10. **Spring Cloud 集成**:虽然 SpringBoot 本身不包含 Spring Cloud,但它们通常一起使用,提供微服务治理、服务发现、配置中心等功能。
在使用 SpringBoot 3.2.3 版本时,开发者需要注意查阅官方文档以了解可能的新特性、修复的 bug 和潜在的兼容性问题。同时,定期更新至最新稳定版可以确保应用的安全性和性能。如果在下载或使用过程中遇到问题,可以参考社区资源,或者联系提供下载的作者寻求帮助。
段子手-168
- 粉丝: 4844
- 资源: 2745
最新资源
- 预计2030年全球青光眼分流器市场规模将达到21.6亿美元
- 预计2030年全球扫地机器人市场规模将达到87.8亿美元
- 2024年心灵状态全球报告-Six Seconds-2024-49页.pdf
- imobie DroidKit v2.3.2.20250一款(亲测有效)非常不错的安卓手机数据恢复软件.rar
- 预计2030年全球深层过滤纸板市场规模将达到1亿美元
- 预计2030年全球湿度计市场规模将达到1.7亿美元
- 使用gurobi排产建模
- 工业互联网平台发展指数2024
- 预计2030年全球食品和饮料工业消毒和清洁剂市场规模将达到26.2亿美元
- 两级式三相光伏并网逆变器的Simulink仿真 光伏pv+Boost+三相并网逆变器+LCL滤波器 PLL锁相环 MPPT最大功率点跟踪控制(扰动观察法和电导增量法可切) dq解耦控制 电流内环电压外
- 非煤矿山建设项目安全设施设计编写提纲
- c#语言编写的上位机控制软件,空压机项目 采用modbus rtu协议与西门子plc s7 200smart进行通讯 联合SQL server数据库进行数据存储,针对数据库操作增删改查功能 数据存储
- eap2025010741566905-1-1.pdf
- pt100温度变送器,支持k型热电偶 4-20mA输出全套方案资料 2线、3线、隔离型 (样板是2线电流 0-10V输出) 0-5V 0-10V输出 国产24位ADC精度0.01度,国产12位DAC
- 有源电力滤波器仿真,谢波检测用ipiq法,控制包括电流控制(滞环)电压控制(pi),驱动电路pwm,有原理全套,单独仿真,仿真失真度从25%降到2%左右整体加pq法ipiq法仿真
- 学术会议poster模板