1.IOC介绍
IOC:Inversion of Control控制反转,控制权的转移,应用程序本身不负责以来对象的创建和维护,而是由外部容器进行创建和维护。
DI:Dependency Injection依赖注入是IOC的一种实现方式。
IOC的目的是创建对象,并组装对象之间的关系。
控制反转是获得依赖对象的过程被反转了,获得依赖对象的过程由自身管理(new对象)变成了由IOC容器主动注入,即依赖注入DI。因此,DI就是由IOC容器在运行期间动态地将某种依赖关系注入到对象中。
2.Bean
IOC容器把对象统称为Bean,Spring Bean的配置方式有两种:xml配置和注解方式配置。
Bean容器初始化使用到两个包org.springframework.beans和org.springframework.context,其中BeanFactory及子类提供配置结构和基本功能,并初始化Bean;ApplicationContext保存了Bean对象,并在Spring中被广泛使用。
初始化ApplicationContext有三种方式,通过本地文件、通过ClassPath以及通过Web应用中依赖的servlet或者Listener。
文件:FileSystemXmlApplicationContext context = new FileSystemXmlApplicationContext("xml_path");
ClassPath:ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:xml_name");
Web:
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
或者
<servlet>
<servlet-name>context</servlet-name>
<servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>