Spring Boot:build anything
Spring Cloud:coordinate anything
Spring Cloud Data Flow:connect everything

Spring framework 6大模块

  1. Core:Bean/Context/AOP
  2. Testing:Mock/TestContext
  3. DataAccess:Tx/JDBC/ORM
  4. SpringMVC/WebFlux:web
  5. Integration:remoting/JMS/WS(Web Service,类似于Apache的camel)
  6. Languages:Kotlin/Groovy

AOP-面向切面编程Aspect Oriented Programming

在不改变原有代码的基础上,做基于方法的额外增强。

IoC-控制反转Inversion of Control/DI-依赖注入Dependency Injection

对象代理的种类(切面增强)

  • 接口类型:

默认使用JDKProxy —> com.sun.proxy.$Proxy
proxyTargetClass —> EnhancerBySpringCGLIB

  • 非接口类型:

默认使用CGlib —> EnhancerBySpringCGLIB

字节码增强
工具:CGLIB,ByteBuddy

StringBean核心原理

Bean的生命周期

Spring基础 - 图1

Spring Messaging/JMS(Java Messaging Service)/MQ

同步转异步
《企业集成模式》:集成领域的圣经EIP-Enterprise Integration Patterns

  • Queue生产消费模式:producer : customer = 1 : 1
  • Topic发布订阅模式:publisher : subscriber = 1 : N

ActiveMQ安装使用

1.官网下载链接:https://activemq.apache.org/components/classic/download/
2.下载后解压
3.控制台进入解压路径
4.启动命令:bin/activemq start
5.浏览器访问ActiveMQ控制台:http://localhost:8161
6.用户名密码存放文件:conf/jetty-realm.properties
7.点击[Manage ActiveMQ broker]
8.在TAB[Queue]中可查看相关消息队列的内容。