SpringCloud

SpringBoot

优雅退出-Spring会注册shutdownHook 相见这里

IOC控制反转又叫依赖注入(DI) 对象的创建和依赖注入由ICO容器管理而不是自身

基于注解的配置:简单直接,XML配置:无需更改代码,中心化,易管理

Bean生命周期

BeanNameAware,BeanFactoryAware,ApplicationContextAware,BeanPostProcessor(全局),InitializeBean 参考

Bean实例化->Bean属性设置->自定义初始化(PostConstruct)->自定义销毁方法(PreDestroy)->结束

容器生命周期


扩展点: BeanPostProcessor(自定义Bean的实例化,依赖注入逻辑),BeanFactoryPostProcessor(可以对全局bean元数据进行配置),FactoryBean(自定义bean实例化逻辑)

Aop原理,场景

增强横切割的业务逻辑的模块化的编程模式,减少代码重复,解偶。

Aspect 横向切割的逻辑,比如说日志,事务

JoinPoint 程序执行的点 ,比如方法,或者处理异常

Advice 在不同JoinPoint执行的动作

Pointcut 匹配JoinPoint的判断


常用的场景: 事务,日志打印


Spring事务参数,传播,隔离

Transactional 

rollbackFor 制定异常会回滚 默认为RuntimeException 

propagation,REQUIRED(没有则创建),SUPPORT(有无皆可),MANDATORY(必须有),REQIRE_NEW(新建,当前有则挂起),NOT_SUPPORT(无事务执行,挂起已有的),NEVER(不能有),NESTED(如果存在事务,则在子事务中执行)



Spring MVC请求过程

DispatcherServlet 是核心控制器,处理请求和返回的统一入口

遍历所有HandlerMapping ,找到对应的HanlderExcutionChain

处理适配器(处理controller和接口的对应关系),调用Controller方法,返回ModelAndView

调用ViewResolver获得View

渲染View


AutoConfiguration 参考

核心注解: @EnableAutoConfiguration,@Conditional,@EnableConfigurationProperties

SpringFactoriesLoader 会访问,META-INF/spring.factories 读取自动加载的类

SpringCloud

服务发现

网关,熔断,降级,限流,负载均衡


dubbo

服务发现

9(?)个逻辑层

SPI机制

负载均衡