Spring核心编程思想
SpringFramework总览
前言
极客时间:小马哥讲 Spring 核心编程思想课程学习笔记
一、特性总览
核心特性(core)
1.IOC
2.AOP
3.spring事件
4.资源管理
5.国际化
6.校验(validation)
7.数据绑定(data)
8.类型转换
9.spring表达式
数据存储(Data Access)
1.JDBC
2.事务抽象
3.DAO支持(DAO Support)
4.O/R映射(O/R Mapping)
5.XML编列(序列化类似)
Web技术
Web Servlet技术栈(1-4版本)
1.Spring MVC
2.WebSocket
3.SockJS
Web Reactive技术栈(spring5引入)
1.Spring WebFlux
2.WebClient(异步回调方式。5.0之前RestTemplate和httpClient同步方式)
3.WebSocet
技术整合
1.远程调用(Remoting)
比如java标准远程方法调用RMI,Hessian社区开源方案(Dubbo)等
通常远程调用采取同步模式
JAVA消息服务(JMS:Java Message Service)
传统JMS规范实现(ActiveMQ),这个规范不包含像Kakfa,RocketMQ这样的实现
本地任务(Task)
本地调度(Scheduling)
缓存(Caching)
二、Spring模块化设计
大概20个,简述常见模块:
spring-ioc
spring-beans和spring-context是IOC的重要核心实现
spring-aop
spring-aspects
spring-beans
spring-core
spring-context
spring-expression
spring-orm
spring-tx
spring-web
spring-webflux
spring-webmvc
spring-socket
表达式支持
三、JDK各版本核心API简述
Java5
反射Reflection
Java beans
动态代理(Dynamic proxy)