spring详解:bean的三种创建方式

spring的一个核心思想【 IOC 控制反转】就是应用本身不负责对象的创建和维护,对象和依赖对象的创建完全交给spring的容器去管理和维护,把这个权利反转给容器。这里就不再多赘述,关注的是反转之后,咱们如何管理和维护对象。本文讨论的是创建的3种方式


使用构造器创建


使用构造器方式创建,要求bean必须要有默认的构造器

spring详解:bean的三种创建方式


那么由spring容器来创建User类的一个user对象的使用构造器创建的方式如上:id即是对象引用名称、class是对象所属类的全路径。实际上是通过反射帮创建




静态工厂方式创建

需要提供静态工厂

spring详解:bean的三种创建方式


再看配置:


spring详解:bean的三种创建方式

此时:id仍然是对象引用名,class则是创建该对象的静态工厂类的全名,factory-method是产生该对象的静态工厂的方法名



实例工厂方式



需要提供实例工厂

spring详解:bean的三种创建方式

配置:

spring详解:bean的三种创建方式

先通过<bean>定义实例工厂,然后另外创建实例对象的bean中:factory-bean就是此前定义的实例工厂的bean,然后指定factory-method就是指定实例工厂的创建该对象的方法



小结:开发中最常用的是通过构造器创建,所以类中必须存在一个无参构造方法


spring的再次回顾总结,若有详述不当之处,感谢您私信纠正。