spring原理核心之IOC

IOC:spring内部最核心的就是IOC了,控制权由对象自己转向容器;由容器根据配置文件区建立实例并建立各个实例之间的依赖关系并放在容器里面;当时使用对象时,动态注入,让一个对象的建立不用new了,能够自动的生产,从容器里面获取。这其实就是利用java里的反射,反射其实就是在运行时动态的去建立、调用对象,Spring就是在运行时,跟xml配置 Spring的配置文件来动态的建立对象,和调用对象里的方法的。java

核心容器类:spring

以ApplicationContext做为核心的接口设计,这里涉及的主要接口设计有,从BeanFactory到ListableBeanFactory,再到ApplicationContext,再到咱们经常使用的WebApplicationContext或者ConfigurableApplicationContext接口。咱们经常使用的应用基本都是org.framework.context包里的WebApplicationContext或者ConfigurableApplicationContext实现。在这个接口体现中,ListableBeanFactory和HierarchicalBeanFactory两个接口,链接BeanFactory接口定义和ApplicationContext应用的接口定义。在ListableBeanFactory接口中,细化了许多BeanFactory的接口功能,好比定义了getBeanDefinitionNames()接口方法;对于ApplicationContext接口,它经过继承MessageSource、ResourceLoader、ApplicationEventPublisher接口,在BeanFactory简单Ioc容器的基础上添加了许多对高级容器的特性支持功能。设计