目录导航
前言
前面的章节我们讲了Spring Cloud Stream 实现
本节,是微服务专题的最后一节,我们来对这个专题做一个总结!共计16小节,分别是:
- 微服务专题01-Spring Application
- 微服务专题02-Spring Web MVC 视图技术
- 微服务专题03-REST
- 微服务专题04-Spring WebFlux 原理
- 微服务专题05-Spring WebFlux 运用
- 微服务专题06-云原生应用(Cloud Native Applications)
- 微服务专题07-Spring Cloud 配置管理
- 微服务专题08-Spring Cloud 服务发现
- 微服务专题09-Spring Cloud 负载均衡
- 微服务专题10-Spring Cloud 服务熔断
- 微服务专题11-Spring Cloud 服务调用
- 微服务专题12-Spring Cloud Gateway
- 微服务专题13-Spring Cloud Stream (上)
- 微服务专题14-Spring Cloud Bus
- 微服务专题15-Spring Cloud Stream 实现
- 微服务专题16-Spring Cloud 整体回顾
本节内容重点为:
- java基础回顾
- springboot特性回顾
- springcloud特性回顾
写在前面
- 任何结论,需要程序检验(稳定重现)
- 经常写代码、多看、多思考
- 训练思维模式(抽象思维、辩证思维、逆向思维、发散思维)
- 原始积累(JDK、框架:Spring、Tomcat、Log4j 等等)
- 少对同伴代码指点,方案上可以讨论(Code Review 思维是否严谨)
- 乐于分享(演讲、技术沙龙、讨论会议等)
- 如何选择性看书(仅供参考)
这里推荐一下书籍:
链接:https://pan.baidu.com/s/1A_QLYev4bQFCtojtmgr-7A
提取码:pcxy
复制这段内容后打开百度网盘手机App,操作更方便哦–来自百度网盘超级会员V4的分享
Java 基础
工具
工欲善其事必先利其器,我们先看看java的基础工具有哪些?
1、 Java 编译器
javax.tools.JavaCompiler
2、Jar = Zip
Spring Boot Fat Jar 压缩率 = 0
3、 Java Debug
JDB
ClassLoader
ClassLoader:java类加载器,作为java核心概念之一,非常重要!
-
Class
-
ClassLoader
- Class
- 资源管理
- 并行加载 Class 1.7
- 并发(Thread)
- META Space
Beans
java可以说就是面向对象编程的语言,而这就主要是围绕bean而展开的!
- 内省(
Introspector
): Java Bean 规范 + 反射(Reflection) + 引用(Reference)- BeanInfo
- PropertyDescriptor
- …
Spring 例子:
PropertyEditorRegistrar
注册PropertyEditor
PropertyEditor
字符文本装换位需要的类型
<bean class="User"> <property name="id" value="9" /> <!-- String to Long --> <property name="age" value="32" /> <!-- String to Integer --> </bean>
Java 编程模型演变
1、面向对象编程(OOP)
- 封装性
- 派生性
- 多态性
设计模式
- GoF 23
- Reactor/Proactor
2、Java 1.2 反射编程
3、Java 1.3 AOP
4、Java 1.4 NIO(Non-Blocking)
5、Java 1.5 泛型/并发编程
6、Java 1.6 脚本编程(JavaScript)
7、Java 1.7 NIO 2
8、Java 1.8 Lambda 编程
9、Java 9 模块化/Reactive 编程
Spring Framework 简史
核心特性
1、 IoC/DI
基于 Java 反射、Java Beans 内省
2、 AOP
- 接口类型基于 Java AOP Proxy
- 类类型基于 CgLib 提升实现
3、 资源管理
- ClassLoader
- URL
- I/O
4、 事件
- Java 标准事件/监听机制
java.util.EventObject
java.util.EventListener
- Java 观察者模式
java.util.Observer
java.util.Observable
5、 国际化
java.util.ResourceBundle
java.util.PropertyResourceBundle
java.text.MessageFormat
6、 验证
- Validator
- Bean Validation(JSR-303)
LocalValidatorFactoryBean
javax.validation.ValidatorFactory
org.springframework.validation.SmartValidator
7、 数据绑定
DataBinder
8、 类型转换
java.beans.PropertyEditor
Convertor
ConversionService
9、 Spring EL
-
JSP EL
-
OGNL
数据访问
1、 事务
- JDBC Transaction
- JTA(Java Transaction API)
- JTS(Java Transaction Service)
2、 JDBC
- JDBC -> JdbcTemplate
3、 ORM
- Hibernate
- iBatis
4、 XML
- SAX(Simple API for XML)
- XML Stream
- JAXB(Java API for XML Binding)
- DOM(Document Object Model)
Web Servlet
Spring MVC
- 早期借鉴 Struts
- 中后期借鉴 JAX-RS(REST Java 规范)
Web Reactive
Spring WebFlux
- Reactor
- RxJava
- Netty
Spring Framework 一种编程模型
XML 配置多 -> 注解配置多
Spring Boot 特性
- 自动装配:实现规约大于配置(减少配置)
- Production-Ready:完善或简化 Spring 应用的运维体系
- 外部化配置:通过外部配置调整应用内部行为
- 嵌入式容器:装配嵌入式 Web 容器
- Servlet 容器
- Netty Web 容器
Spring Cloud 特性
- 服务发现
- 远程调用
- 客户端申明(Feign)
- 服务熔断(Hystrix)
- 负载均衡(Ribbon)
- 服务调用链路跟踪(Sleuth)
- 分布式配置
- 版本系统(Git)
- 分布式实现(自定义实现)
- 异步消息
- 消息总线(Spring Cloud Bus)
- 消息整合(Spring Cloud Stream)
- 网关
- Spring Cloud 1.x / 2.x Zuul
- Spring Cloud Gateway
更多
分布式事务
最终一致性
- 基于消息的最终一致性
安全
后记
微服务专题到这就告一段落了,下一专题预告:并发编程专题
更多架构知识,欢迎关注本套Java系列文章:Java架构师成长之路