创建Spring Bean实例化是Spring Bean生命周期的第一阶段

Bean的生命周期主要有如下几个步骤:
「详细介绍:Spring In Action是这样讲的:」
在实例化Bean之前在BeanDefinition里头已经有了所有需要实例化时用到的元数据,接下来Spring只需要选择合适的实例化方法以及策略即可。
「BeanDefinition」
Spring容器启动的时候会定位我们的配置文件,加载文件,并解析成Bean的定义文件BeanDefinition
右边的Map里存储这bean之间的依赖关系的定义BeanDefinition,比如OrderController依赖OrderService这种
实例化方法有两大类分别是工厂方法和构造方法实例化,后者是最常见的。其中Spring默认的实例化方法就是无参构造函数实例化。
如我们在xml里定义的以及用注解标识的bean都是通过默认实例化方法实例化的
实例化方法
「使静态工厂方法实例化」
- public class FactoryInstance {
 - public FactoryInstance() {
 - System.out.println("instance by FactoryInstance");
 - }
 - }
 
- public class MyBeanFactory {
 - public static FactoryInstance getInstanceStatic(){
 - return new FactoryInstance();
 - }
 - }
 
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 - xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
 - factory-method="getInstanceStatic"/>
 
「使用实例工厂方法实例化」
- public class MyBeanFactory {
 - /**
 - * 实例工厂创建bean实例
 - *
 - * @return
 - */
 - public FactoryInstance getInstance() {
 - return new FactoryInstance();
 - }
 - }
 
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 - xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
 - 
 
- 我们的服务
 Copyright © 2009-2022 www.fjjierui.cn 青羊区广皓图文设计工作室(个体工商户)达州站 版权所有 蜀ICP备19037934号