01、分析
- spring,springmvc,mybatis,springboot,springcloud必须要掌握和明白源码分析
- Doubbo、Tomcat源码分析
02、springboot源码分析
1、springboot三大特性
- 榜帮助我们快速整合第三方框架(原理Maven依赖封装)
- 嵌入服务器(原理java语言创建服务器)
- 完全注解代替XML
传统spring
- 基于XML
- 依赖第三方模块,都在pom.xml中添加,还要在xml文件中去配置
- 需要依赖外部的tomcat容器去部署项目才可以进行发布项目
- 日志管理也需要额外的配置
- 配置组件和应用十分复杂
springboot项目
- 零配置,用注解的方式去取代传统的XMl文件
- starter机制,解决什么问题,是如何解决
- 内置tomcat和日志管理,开发只需要启动main函数即可,既可以运行项目
- springboot管理的bean是如何注册springioc容器,springboot是怎么和spring发生关系
这是springboot的项目整体结构
springboot的零配置是如何实现的?
是注解
传统是用xml文件
*xml---applicationContext.xml
*扫包+注解
@Service @controller@Component
springboot改进
- 扫包(注解)+注解(@ComponentScan+@Service @controller@Component)
- @Configuration+@Bean+@Bean初始化
- @Import机制(@Import(配置类&selector接口的实现类,也可以写普通Bean)@Import(RedisConfiguration.class)@Import(UserService.class))
- @importResource(“classpath:applicationContext.xml”)