第一章 Spring FrameWork总览

第一章 Spring FrameWork总览

  • 核心特性(Core)
  • 数据存储(Data Access)
  • Web 技术(Web)
  • 技术整合(Integration)
  • 测试(Testing)
  • Spring 模块化设计(Modular)
  • Spring 编程模型
    • 面向对象编程
    • 面向切面编程
    • 面向元编程
    • 函数驱动
    • 模块驱动
  • 面试题
    • 什么是 Spring Framework?
    • Spring Framework 有哪些核心模块?

核心特性(Core)

IoC 容器(IoC Container)
Spring 事件(Events)
资源管理(Resources)
国际化(i18n)
校验(Validation)
数据绑定(Data Binding)
类型装换(Type Conversion)
Spring 表达式(Spring Express Language)
面向切面编程(AOP)

数据存储(Data Access)

JDBC
事务抽象(Transactions)
DAO 支持(DAO Support)
O/R映射(O/R Mapping)
XML 编列(XML Marshalling)

Web 技术(Web)

Web Servlet 技术栈

  • Spring MVC
  • WebSocket
  • SockJS

Web Reactive 技术栈

  • Spring WebFlux
  • WebClient
  • WebSocket

技术整合(Integration)

远程调用(Remoting)
Java 消息服务(JMS)
Java 连接架构( JCA)
Java 管理扩展(JMX)
Java 邮件客户端(Email)
本地任务(Tasks)
本地调度(Scheduling)
缓存抽象(Caching)
Spring 测试(Testing)

测试(Testing)

模拟对象(Mock Objects)
TestContext 框架(TestContext Framework)
Spring MVC 测试(Spring MVC Test)
Web 测试客户端(WebTestClient)

Spring 模块化设计(Modular)

spring-aop
spring-aspects
spring-context-indexer
spring-context-support
spring-context
spring-core
spring-expression
spring-instrument
spring-jcl
spring-jdbc
spring-jms
spring-messaging
spring-orm
spring-oxm
spring-test
spring-tx
spring-web
spring-webflux
spring-webmvc
spring-websocket

Spring 编程模型

面向对象编程

  • 契约接口:Aware、BeanPostProcessor …
  • 设计模式:观察者模式、组合模式、模板模式 …
  • 对象继承:Abstract* 类

面向切面编程

  • 动态代理:JdkDynamicAopProxy
  • 字节码提升:ASM、CGLib、AspectJ…

面向元编程

  • 注解:模式注解(@Component、@Service、@Respository …)
  • 配置:Environment 抽象、PropertySources、BeanDefinition …
  • 泛型:GenericTypeResolver、ResolvableType …

函数驱动

  • 函数接口:ApplicationEventPublisher
  • Reactive:Spring WebFlux

模块驱动

  • Maven Artifacts
  • OSGI Bundles
  • Java 9 Automatic Modules
  • Spring @Enable*

面试题

什么是 Spring Framework?

Spring makes it easy to create Java enterprise applications.
It provides everything you need to embrace the Java language
in an enterprise environment, with support for Groovy and
Kotlin as alternative languages on the JVM, and with the
flexibility to create many kinds of architectures depending on
an application’s needs.

Spring Framework 有哪些核心模块?

  • spring-core:Spring 基础 API 模块,如资源管理,泛型处理
  • spring-beans:Spring Bean 相关,如依赖查找,依赖注入
  • spring-aop : Spring AOP 处理,如动态代理,AOP 字节码提升
  • spring-context : 事件驱动、注解驱动,模块驱动等
  • spring-expression:Spring 表达式语言模块

你可能感兴趣的:(第一章 Spring FrameWork总览)