spring Ioc(控制反转)

本文深入讲解了Spring框架的两大核心特性:IOC(控制反转)和AOP(面向切面编程)。详细介绍了如何通过Spring管理Bean的创建过程及依赖注入,并探讨了数组与集合的注入方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

简述: spring的核心有两部分:ioc和aop
(1)ioc:控制反转,之前调用一个类中的不是静态的方法,创建类的对象 new 类,再调用。现在使用spring的ioc之后,不需要自己手动new创建对象,交给spring进行管理。
(2)aop:面向切面编程,在基本的功能之上,可以添加一个额外功能,不添加额外功能,基本功能也可以运行。Aop底层原理动态代理

一.Ioc: 把对象的创建交个spring管理,不需要手动(new()个对象)创建对象

1.Spring的bean管理(xml配置文件):

什么是Bean管理?
Bean管理: 
    1.创建对象的过程(既new()过程),
    2.创建对象的过程中设置属性值

2.使用spring创建对象的三种的三种方式(既bean管理)
1).使用无参数的构造方法创建

java类:
public class TestIOCDemo{

}

创建TestIOCDemo类的对象(在xml文件的配置)
<bean id="demo" class="cn.ioc.TestIOCDemo">

2).使用静态工厂创建
3).使用实例工厂创建

3.依赖注入的三种方式:

1)使用setter注入

public class Role{
    private Long id;

    private String roleName;//要在配置文件(xml注入值)
    public void setRoleName(String roleName){
        this.roleName = roleName;
    }
}

配置文件(xml):
<bean id="roleId" class="Role类的路径">
    //name的值和类里的值必须是一致的
    <property name="roleName" value="高级工程师">
</bean>

最后是Role类里面的roleName就是 高级工程师

2).使用有参数的构造方法注入
3).使用接口注入

4.Spring的bean管理(注解方式)
这里写图片描述

Ioc底层原理: 配置文件+工厂+反射

1.创建配置文件:
            <bean id="testDao" class="com.test.TestDao"></bean>
2.工厂:
        解析配置文件(dom4j方式解析配置文件), 得到testDao和testDao的全路径
3.反射:
        得到全路径后,使用反射得到对象Class: Class clazz = Class.forName("testDao的全路径");
        在获取到类的实例:clazz.newInstance();

二.数组,集合注入:

1.数组的注入;

//java 代码
public class ArrayDemo {

    //注入数组属性
    private String[] arr;
    public void setArr(String[] arr) {
        this.arr = arr;
    }

    public void arrayDemo(){
        System.out.println("=="+ Arrays.toString(arr));
    }
//配置文件代码
 <!--数组属性的注入-->
    <bean id="arrayDemo" class="com.spring.ioc.ArrayDemo">
        <property name="arr">
            <list>
                <value>小南国</value>
                <value>小呆瓜</value>
                <value>小笨蛋</value>
            </list>
        </property>
    </bean>

2.list的注入;
这里写图片描述

3.set的注入;
这里写图片描述

4.map的注入;
这里写图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值