Spring Boot2 特点

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

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

Spring Boot 与 Java EE规范
Web:Servlet(JSR-315、JSR-340)
SQL:JDBC(JSR-221)
数据校验:Bean Validation(JSR-303、JSR-349)
缓存:Java Caching API(JSR-107)
WebSockets:Java API for WebSocket(JSR-356)
Web Services:JAX-WS(JSR-224)
Java管理:JMX(JSR 3)
消息:JMS(JSR-914)


核心特性
Spring Boot 三大特性

  • 组件自动装配:Web MVC、Web Flux、JDBC等
    • 激活:@EnableAutoConfiguration
    • 配置:/META-INF/spring.factories
    • 实现:XXXAutoConfiguration
  • 嵌入式Web容器
    • Web Servlet:Tomcat、Jetty以及Undertow
    • Web Reactive:Netty Web Server
  • 生产准备特性
    • 指标:/actuator/metrics 【CPU/内存/磁盘利用率等】
    • 健康检查:/actuator/health 【磁盘等】
    • 外部化配置:/actuator/configprops

Web应用

  • Servlet组件

    • Servlet

      • 实现
        • @WebServlet
        • httpServlet
        • 注册
      • URL映射
        • @WebServlet(urlPatterns = “/my/servlet”)
      • 注册
        • @ServletComponentScan(basePackages = “com.ice.springboot.diveinspringboot.web.servlet”)
    • Filter

    • Listener

  • Servlet注册

    • Servlet注解
      • @ServletComponentScan
      • @WebServlet
      • @WebFilter
      • @WebListener
    • Spring Bean
      • @Bean
      • Servlet
      • Filter
      • Listener
    • RegistrationBean
      • ServletRegistrationBean
      • FilterRegistrationBean
      • ServletListenerRegistrationBean
  • 异步非阻塞

    扫描二维码关注公众号,回复: 4240993 查看本文章
    • 异步Servlet:

      • javax.servlet.ServletRequest#startAsync()
      • javax.servlet.AsyncContext
    • 非阻塞Servlet:

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

Web应用
Spring Web MVC应用

  • Web MVC视图
    • ViewResolver
    • View
  • 模板引擎
    • Thymeleaf
    • Freemarker
    • jsp
  • 内容协商
    • ContentNegotiationConfigurer
    • ContentNegotiationStrategy
    • ContentNegotiationgViewResolver
  • 异常处理
    • @ExceptionHandler
    • HandlerExceptionResolver
      • ExceptionHandlerExceptionResolver
    • BasicErrorController(spring boot)

Web MVC REST

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

Web MVC核心

  • 核心架构
  • 处理流程
  • 核心组件
    • DispatcherServlet
    • HandlerMapping
    • HandlerAdapter
    • ViewResolver

Spring Web Flux应用

  • Reactor基础:Java lambda、Mono、Flux
  • Web Flux核心:Web MVC注解、函数式声明(RouterFunction)、异步非阻塞
  • 使用场景:页面渲染、Rest应用

Web servlet 应用

  • 切换容器:修改pom文件的依赖
  • 替换servlet容器:web/webflux

数据相关

  • 关系型数据
    • JDBC依赖:pom引入依赖
    • 数据源:javax.sql.DataSource
    • 自动装配:DataSourceAutoConfiguration

功能扩展
- Spring boot 应用
- SpringApplication:失败分析、应用特性、事件监听等
- Spring Boot配置:外部化配置、Profile、配置属性
- Spring Boot Starter:Starter开发、最佳实践
运维管理:监控

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

猜你喜欢

转载自blog.csdn.net/zzzbbbjjj/article/details/83547693