IOC–控制反转:对象创建的权利由Spring框架完成.由容器管理对象的生命周期.
IOC实现原理:
spring容器的数据结构是Map集合,其中key为对象的ID, value为具体实例化的对象
程序执行过程:
- 指定配置文件的名称.
- 当Spring容器加载配置文件时.当按照顺序执行bean标签时,开始创建对象.
- Spring通过bean标签中的class属性获取类型的路径,之后通过反射机制,实例化对象(必须有无参构造)
- bean中的Id当做Map中的key, 将实例化的对象保存到Map中,当做value. 之后Spring容器启动成功.
- 当用户需要获取对象时,可以通过key/或者类型 获取对象.
注意: 也可用注解来将对象交给容器管理@Bean
DI-依赖注入:将Spring容器中管理对象(数据),赋值给对象的属性.
核心机制: 如果需要使用依赖注入,则对象的属性必须有setxxxx()方法
注意: 也可使用构造方法的形式使用依赖注入.
IOC/DI的意义:实现了代码的松耦合.