文章目录
- Spring IOC
- spring ioc的加载过程
- Spring Bean的生命周期
-
- 实例化
- 初始化
-
- 5、给用户属性赋值
- 6、给容器属性赋值
-
- 6.1 BeanNameAware.setBeanName()
- 6.2 BeanClassLoaderAware.setBeanClassLoader()
- 6.3 BeanFactoryAware.setBeanFactory()
- 6.4 EnvironmentAware.setEnvironment()
- 6.5 EmbeddedValueResolverAware.setEmbeddedValueResolver()
- 6.6 ResourceLoaderAware.setResourceLoader()
- 6.7 ApplicationEventPublisherAware.setApplicationEventPublisher();
- 6.8 MessageSourceAware.setMessageSource()
- 6.9 ApplicationContextAware.setApplicationContext()
- 6.10 ServletContextAware.setServletContext()
- 6.11 LoadTimeWeaverAware.setLoadTimeWeaver()
- 6.12 ImportAware.setImportMetadata()
- 7、初始化前置
- 12、初始化后置
- 8、执行初始化方法
- 9、初始化方法一:@PostConstruct
- 10、InitializingBean.afterPropertiesSet()
- 11、init-method
- 使用中
- 销毁
Spring IOC
首先,在此之前,我们就必须先知道什么是ioc,ioc叫做控制反转,习惯上也可以称为依赖注入(DI),实际上依赖注入是ioc的具体实现。
关于控制反转,依赖注入,我们要先明白几个问题:
1. 首先是谁控制谁?
在以前,对象的创建和销毁都是由用户控制的,用了ioc之后,对象的创建和销毁就都交给容器来控制了,用户就不用管这些,只关注业务需求就好了;
2. 什么是反转?
既然叫反转,肯定就有正转,正转其实就是对象去找实例,而反转就反过来了嘛,让实例来找对象;怎么找呢?当然是通过容器啦!