Spring版本:https://docs.spring.io/spring/docs/
SpringBoot版本:https://docs.spring.io/spring-boot/docs/
SpringCloud版本:https://docs.spring.io/spring-cloud/docs/
SpringCloud、SpringBoot版本信息:https://start.spring.io/actuator/info
注: 2.3.1.RELEASE 可替换为其他版本
基于servlet 自己设计spring主要流程
BeanFactory:产生一个新的实例,可以实现单例模式
BeanWrapper:提供统一的get及set方法
ApplicationContext:提供框架的实现,包括BeanFactory的所有功能
Spring 框架中的核心组件只有三个:Core、Context 和 Beans。它们构建起了整个 Spring 的骨骼架构。
protected void onRefresh(ApplicationContext context) {
this.initStrategies(context);
}
protected void initStrategies(ApplicationContext context) {
this.initMultipartResolver(context);
this.initLocaleResolver(context);
this.initThemeResolver(context);
this.initHandlerMappings(context);
this.initHandlerAdapters(context);
this.initHandlerExceptionResolvers(context);
this.initRequestToViewNameTranslator(context);
this.initViewResolvers(context);
this.initFlashMapManager(context);
}
Context是入口
定位 用的 Reader 结尾的
加载 BeanDefinition保存类信息,包括OOP关系
注册 Factroy、Context 就是把用户所定义的Bean放到IOC容器中(Map)
穷举法:把生活所见所闻全部归纳到我们所学的知识体系中来,加以思考总结变成自己的东西。(举例子) 类比法:用自己熟悉的方法(利用自己已有的知识体系),去对比学习新的知识。
常用设计模式概述
定义:总结前人的经验,去借鉴(来源于生活,总结经验,并运用于生活)
目的:提升代码可读性、扩展性、降低维护成本(具体的业务使用具体的设计模式,不可盲目套用)
介绍集合List特殊用法
// Collection 转为List
new ArrayList<>(retMap.values());