ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
[原文](https://docs.spring.io/spring/docs/5.0.6.RELEASE/spring-framework-reference/core.html#spring-core) 这章主要讲spring框架实现控制反转(ioc)的原理。控制反转也叫依赖注入。它是对象定义其依赖关系的一个过程,即它用到的其他对象,只能通过构造参数,工厂方法参数或者在对象实例化后设置属性的方式确认依赖关系。容器在创建bean的时候会注入这些依赖关系。这个过程和bean本身通过使用类的直接构造方法或诸如服务定位模式之类的机制控制其依赖关系的实例化或位置是相反的,因此叫控制反转。 > 正常的依赖是对象本身去创建,这里是把创建交给spring容器 org.springframework.beans和org.springframework.context包是Spring Framework的IoC容器的基础。BeanFactory接口提供了一种能够管理任何类型对象的高级配置机制。ApplicationContext是BeanFactory的子接口。它更便于集成AOP;消息资源处理(国际化),事件发布;在web应用中提供专有的上下文WebApplicationContext 。 简而言之,BeanFactory提供配置框架和基本功能,ApplicationContext添加了更多的企业特定功能。ApplicationContext是BeanFactory的完整超集,在本章节专指spring ioc容器。要使用BeanFactory来替代ApplicationContext,参考[BeanFactory](https://docs.spring.io/spring/docs/5.0.6.RELEASE/spring-framework-reference/core.html#beans-beanfactory) 在spring,构成应用的主干和spring ioc容器管理的对象都称为beans。 bean就是由spring ioc容器实例化,组合,管理的对象。bean就是应用中众多对象中的一个。bean和他们的依赖关系,都反映在容器的配置数据上