一、springboot 三大特性
1.组件自动装配:Web Mvc 、Web Flux、JDBC等
激活:EnableAutoConfiguration
配置:/META-INF/spring.factories
实现:XXXAutoConfiguration
2.嵌入式web 容器:tomcat、jetty 、undertow 、webflux
3.生产准备特性:指标、健康检查、外部化配置等
指标:/actuator/metrics
健康检查:/actuator/health
外部化配置:/actuator/configprops
二:web应用 servlet 、 react
1 . 传统servlet应用:
Servlet组件: Servlet、Filter、Lister
/**
- servlet 3.0
- 传统的servlet组件开发
- 实现HttpServlet
- 映射url
*/
@WebServlet(urlPatterns = “/my/servlet”)
public class MyServlet extends HttpServlet{
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
resp.getWriter().println(“heillo”);
}
@Override
protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
super.doPost(req, resp);
}
}
组件扫描注册注解
@ServletComponentScan(value =“com.baoge_springboot.springboot_core.web.servlet” )
作用:Enables scanning for Servlet components ({@link WebFilter filters}, {@link WebServlet servlets}, and {@link WebListener listeners})
Servlet注册:Servlet注解、Spring Bean 、RegistrationBean
异步非阻塞:
.异步Servlet
.非阻塞Servlet
2. Spring Web MVC应用
Web MVC视图:模板引擎、内容协商、异常处理等
Web MVC REST:资源服务、资源跨越、服务发现等
Web MVC核心:核心架构、处理流程、核心组件
mvc视图: ViewResolver View
模板引擎: Thymeleaf Freemarker jsp
内容协商: ContentNegotiationConfiguer ContentNegotiationStrategy
ContentNegotiatingViewResolver
异常处理: @ExceptionHandler
HandlerExceptionResolver ExceptionHandlerExceptionResolver
BasicErrorController(Spring Boot)
Web MVC REST
资源服务:@RequestMapping @ResponseBody @RequestBody
资源跨域: CrossOrign
WebMvcConfigurer#addCorsMappings
传统方式: IFrame jSONP
服务发现 HATEQS
WebMvc核心:
核心组件:DispatcherServlet HandlerMapping HandlerAdapter
ViewResolver
3.Spring Web Flux 应用
Reator 基础: Java Lambda、Mono、Flux
Web Flux核心:Web Mvc 注解、函数式声明、异步非阻塞
3. Web Server 应用
切换Web Server
切换其他Servlet
Tomcat—> Jetty
替换Servlet 容器
WebFlux (netty)
自定义 Servlet Web Server
WebServerFactoryCustomizer
自定义Reactive Web Server
ReactiveWebServerFactoryCustomizer
-
数据相关
关系型数据
Jdbc:数据源、JdbcTemplate、自动装配
JPA:实体映射关系、实体操作、自动装配
事务:Spring事务抽象、JDBC事务处理、自动装配Jdbc依赖:spring-boot-starter-jdbc
数据源:javax.sql.DataSource
JdbcTemplate
自动装配:DataSourceAutoConfiguration 在spring.factories里定义
JPA:依赖 spring-boot-starter-data-jpa
实体操作:javax.persistence.EntityManager
自动 装配:HibernateJpaAutoConfiguration
事务: 依赖org.springframework–>spring-tx
Spring 事务抽象 PlatformTransactionManager
JDBC事务处理 DataSourceTransactionManager
自动装配 TransactionAutoConfiguration三 功能扩展
Springboot 应用
SpringApplication:失败分析、应用特性、事件监听等
SpringBoot 配置:外部化配置、Profile、配置属性
SpringBoot Starter:Starter开发、最佳实践失效分析 FailureAnalysisReporter 应用特性:SpringApplication Fluent API 外部化配置:ConfigurationProperty 配置属性:PropertySources
四 运维管理
Spring Boot Actuator 依赖 spring-boot-starter-actuator
端点:各类Web、JMX Enddpoints
健康检查:Health、HealthIndicator
指标:内建Metrics、自定义Metrics