Spring的好处?
- DI:Dependency Injection方法,使得构造器和JavaBean,properties文件中的依赖关系一目了然
- 轻量级:相对于EJB容器来说。IoC容器更加趋势于轻量级
- 面向切面编程:Spring支持面向切面编程,同时把应用的业务逻辑和系统的服务分离开
- 集成主流框架
- 事务管理:便捷的事务管理接口
Spring涉及的设计模式?
- 代理模式
- 单例模式:在Spring配置文件中的Bean默认是单例是单例模式
- 模板方法 :解决重复代码的问题,比如RestTemplate
- 前端控制器:Spring提供了DispatcherServlet来对请求进行分发
- 依赖注入 : 贯穿于 BeanFactory / ApplicationContext 接口的核心理念。
- 工厂模式 : BeanFactory 用来创建对象的实例
什么是IoC容器?
- Spring框架的核心就是IoC容器,容器创建Bean对象,配置并且管理他们的生命周期 (Spring通过依赖注入来管理组成应用程序的Bean对象,容器通过读取提供的配置元数据的Bean Definition来接受对象进行实例化,配置和组装的指令,配置Bean Definition可以通过XML,Java注解和Java Config来提供)
- Spring提供了两种IoC容器,分别是BeanFactory和ApplicationContext
- IoC的实现原理:工厂模式+反射
- IoC启动过程是怎样的?ClassPathXmlApplicationContext 源码
什么是依赖注入?
- 在依赖注入中,你不必手动主动的创建对象,但是必须描述如何创建它们
- 依赖注入的三种方式:接口注入、构造函数注入、setter注入
todo
- BeanFactory和Application的源码
- 设计模式
ps : 本章内容为芋道源码学习笔记