1058-Spring Boot 2.0深度实践之系列总览

https://www.imooc.com/learn/1058

简介:本课程是Spring Boot2.0深度实践系列课程的总览部分,会向大家揭示如何深度学习Spring Boot2.0 ,以及介绍Spring Boot2.0深度实践系列课程中的各类议题。Spring Boot2.0深度实践系列课程分上下两篇,上篇核心技术篇已经上线:https://coding.imooc.com/class/252.html 下篇生态整合篇敬请期待。

第1章 课程介绍

本章如何深度学习Spring Boot2.0 给出一个大的概念上的理解

1-1 Spring Boot2易学难精 (09:15)

易学

组件自动装配:规约大于配置,专注核心业务
外部化配置:一次构建、按需调配,到处运行
嵌入式容器:内置容器、无需部署,独立运行
Spring Boot Starter:简化依赖、按需装配、自我包含
Production-Ready:一站式运维、生态无缝整合

难精

组件自动装配:模式注解、@Enable模块、条件装配、加载机制
外部化配置:Environment抽象、生命周期、破坏性变更
嵌入式容器:Servlet Web容器、Reactive Web容器
Spring Boot Starter:依赖管理、装配条件、装配顺序
Production-Ready:健康检查、数据检查、@Endpoint管控

Spring Boot与Java EE规范

Web:Servlet(JSR315、JSR340)
SQL:JDBC(JSR221)
数据校验:Bean Validation(JSR303、JSR349)
缓存:Java Caching API(JSR107)
WebSockets:Java API for WebSocket(JSR356)
Web Services:JAX-WS(JSR224)
Java管理:JMX(JSR3)
消息:JMS(JSR914)

1-2 开场白:系列总览 (02:52)

核心特性、Web应用、数据相关、功能扩展、运维管理、课堂总结

第2章 课程议题

本章总览 Spring Boot 2.0 深度实践系列课程的整体议程,包括 Spring Boot 三大核心特性(组件自动装配、嵌入式Web容器、生产准备特性)、Web 应用(传统 Servlet、Spring Web MVC、Spring WebFlux)、数据相关(JDBC、JPA、事务)、功能扩展(SpringApplication、Spring Boot 配置、Spring Boot Starter)以及运维管理(Endpoint、健康检查、Metrics)。

2-1 核心特性介绍 (03:25)

Spring Boot三大特性

  1. 组件自动装配:Web MVC、Web Flux、JDBC等
  2. 嵌入式Web容器:Tomcat、Jetty以及Undertow
  3. 生产准备特性:指标、健康检查、外部化配置等

2-2 核心特性组件自动装配介绍 (09:10)

  1. 组件自动装配

    激活:@EnableAutoConfiguration
    配置:/META-INF/spring.factories
    实现:XXXZAutoConfiguration(WebAutoConfiguration、JdbcTemplateAutoConfiguration)

  2. 嵌入式Web容器

    Web Servlet容器:Tomcat、Jetty和Undertow
    Web Reactive:Netty Web Server

    Web Flux基于Web Reactive,也可以基于Servlet3.1

  3. 生产准备特性

    指标:/actuator/metrics
    健康检查:/actuator/health
    外部化配置:/actuator/configprops

2-3 核心特性- 组件自动装配-工程部分 - (07:18)

2-4 Web应用介绍 (01:34)

Servlet组件:Servlet、Filter、Listener
Servlet注册:Servlet注解、Spring Bean、RegistrationBean
异步非阻塞:异步Servlet、非阻塞Servlet

2-5 Web 应用 - 传统 Servelt 应用 (09:26)

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

Servlet组件

  • Servlet

    实现:@WebServlet、HttpServlet、注册

    URL映射:@WebServlet(urlPatterns = “/my/servlet”)

    注册:@ServletComponentScan(basePackages = “com.imooc.diveinspringboot.web.servlet”)

  • Filter

  • Listener

Servlet注册

  • Servlet注解

    @ServletComponentScan:@WebServlet、@WebFilter、@WebListener

  • Spring Bean

    @Bean:Servlet、Filter、Listener

  • RegistrationBean:ServletRegistrationBean、FilterRegistrationBean、ServletListenerRegistrationBean

2-6 异步非阻塞 Servlet 代码示例 (03:18)

异步 Servlet

  • javax.servlet.ServletRequest#startAsync()

  • javax.servlet.AsyncContext

    @WebServlet(urlPatterns = "/my/servlet", asyncSupported = true)
    public class MyServlet extends HttpServlet {
      @Override
      protected void doGet(HttpServletRequest req, HttpServletResponse resp) {
        AsyncContext asyncContext = req.startAsync();
        asyncContext.start(() -> {
          resp.getWriter().println("Hello, World.");
          asyncContext.complete(); // 触发完成
        });
      }
    }

非阻塞 Servlet

  • javax.servlet.ServletInputStream#setReadListener
    • javax.servlet.ReadListener
  • javax.servlet.ServletOutputStream#setWriteListener
    • javax.servlet.WriteListener

2-7 Spring Web MVC 应用介绍 (11:16)

Spring Web MVC 应用

  • Web MVC 视图:ViewResolver、View
  • 模板引擎:Thymeleaf、Freemarker、JSP
  • 内容协商:ContentNegotiationConfigurer、ContentNegotiationStrategy、ContentNegotiatingViewResolver
  • 异常处理:@ExceptionHandler、HandlerExceptionResolver(ExceptionHandlerExceptionResolver)、BasicErrorController(springboot)

Web MVC REST

  • 资源服务:@RequestMapping(@GetMapping)、@ResponseBody、@RequestBody
  • 资源跨域:@CrossOrigin、WebMvcConfigurer#addCorsMappings、传统解决方案(IFrame,JSONP)
  • 服务发现:HATEOS

Web MVC 核心

核心架构、处理流程、核心组件(DispatcherServlet、HandlerMapping、HandlerAdapter、ViewResolver)

2-8 Spring Web Flux 应用 (05:33)

2-9 Web Server 应用 (09:08)

2-10 数据相关 (15:01)

2-11 功能扩展 (11:50)

2-12 运维管理 (11:29)

第3章 课程总结

课程总结

3-1 课堂总结 (09:20)


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 tuyrk@qq.com

文章标题:1058-Spring Boot 2.0深度实践之系列总览

文章字数:1k

本文作者:神秘的小岛岛

发布时间:2020-06-13, 00:57:40

最后更新:2020-06-13, 19:03:05

原始链接:https://www.tuyrk.cn/imooc/1058-springboot-2/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏