Spring源码解析

本文深入探讨Spring框架的IOC过程,从容器创建到Bean的管理,详细解析了源码实现,包括BeanFactory的创建、Bean的生命周期管理以及AOP原理。通过对Spring的源码分析,展示了BeanFactoryPostProcessor、BeanPostProcessor等核心组件的工作方式,以及如何通过这些组件实现Bean的创建和初始化。此外,文章还介绍了Spring中的声明式事务管理和JDK代理的限制原因。
摘要由CSDN通过智能技术生成

一、IOC过程

第一步:xml配置文件
第二步:使用工厂类
第三步:通过反射创建类

二、IOC接口

1.BeanFactory:IOC基本实现,Spring内部使用,不提供给开发人员使用。加载配置文件时不创建对象
2.ApplicationContext:BeanFactory的子接口,功能更强大,加载配置文件随便创建对象

三、管理Bean对象

1.DI:依赖注入,配置属性
(1)通过set方法注入(通过在xml bean标签配置property属性,也是通过set方法注入的)

(2)通过构造器注入(通过在xml bean标签配置constructor-arg属性,也是通过有参构造注入)

2.注入属性-外部bean(通过ref)

<!--1 service和dao对象创建-->
<bean id="userService" class="com.atguigu.spring5.service.UserService">
    <!--注入userDao对象
        name属性:类里面属性名称
        ref属性:创建userDao对象bean标签id值
    -->
    <property name="userDao" ref="userDaoImpl"></property>
</bean>
<bean id="userDaoImpl" class="com.atguigu.spring5.dao.UserDaoImpl"></bean>

3.集合类型注入

<!--(2)在 spring 配置文件进行配置-->
    <bean id="stu" class="com.atguigu.spring5.collectiontype.Stu">
        <!--数组类型属性注入-->
        <property name="courses">
            <array>
                <value>java课程</value>
                <value>数据库课程</value>
            </array>
        </property>
        <!--list类型属性注入-->
        <property name="list">
            <list>
                <value>张三</value>
                <value>小三
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值