Spring IoC相关

spring ioc

反转控制

什么叫做轻量级容器?

可以管理容器,不需要特殊的配置来进行操作,最大程度的代码复用,轻量级的内存占用以及最小化的API的依赖,容器需要有管理的渠道。

1.依赖查找

pom文件中的../pom.xml解决pom依赖的继承的问题。

根据bean名称查找

实时查找

通过BeanFactory.getBean("xxx")

延迟查找

使用org.springframework.beans.factory.ObjectFactory

根据bean类型查找

单个bean对象

通过BeanFactory.getBean("xxx.class")

当有多个bean时,需要设置(必须加@Primary)

集合bean对象

Map = ListableBeanFactory.getBeansOfType("xxx.class");

根据bean名称+类型查找

根据java注解查找

Map getBeansWithAnnotation(Class annotationType)

2.依赖注入

根据Bean名称注入

根据Bean类型注入

单个bean对象

集合bean对象

注入容器内建Bean对象

注入非Bean对象

3.依赖来源

自定义Bean

容器内建Bean对象

容器内建依赖

4.配置元信息

Bean定义配置

基于XML文件

基于Properties文件

基于java注解

基于java API

IoC容器配置

基于XML文件

基于java注解

基于java API

外部化属性配置

基于java注解

 

BeanFactory和ApplicationContext谁才是IoC容器?

ApplicationContext是BeanFactory的子接口,BeanFactory提供配置框架及基础的特性,ApplicationContext提供更多企业级的特性(AOP整合,国际化支持,事务发布等)。

ApplicationContext采用组合的方式使用BeanFactory的相关功能。

 

你可能感兴趣的:(小马哥核心编程)