Spring框架的核心功能有两个:
Spring容器作为超级大工厂,负责创建、管理所有的Java对象,这些Java对象被称为Bean。
Spring容器管理容器中Bean之间的依赖关系,Spring使用一种被称为"依赖注入"的方式来管理Bean之间的依赖关系。
“依赖注入”是控制反转的一个具体实例。
Spring 大量用到了工厂模式和单例模式,Spring是实例化和管理全部bean的工厂,默认将所有的bean设置成单例模式,无需自己完成单例模式,即所有相同id 的bean请求返回同一个共享实例。单例模式可大大降低java对象在创建和销毁时的系统开销。
Ioc:控制反转,将手动创建对象的控制权,交由Spring管理。
若要使用某个对象,只需要从Spring容器中获取需要使用的对象,不关心对象的创建过程,即将创建对象的控制权反转给了Spring.
Don’t call me,i’ll call you.
一,管理Bean
Spring使用配置文件管理所有的bean,bean由Spring工厂负责生产和管理。
访问容器中的Bean,实现常用接口ApplicationContext,该接口下有两个实现类
ClassPathXmlApplicationContext: 从类加载路径下搜索配置文件,并根据配置文件来创建Spring容器。
FileSystemXmlApplicationContext: 从文件系统的相对路径或绝对路径下中去搜索配置文件,并根据配置文件来创建Spring容器。
Spring工厂模式不仅提供了bean的功能,还提供了对bean的生命周期的管理,最重要的是还可以管理bean之间的依赖关系。