11.24 Spring-IOC注入方式

目录

概念

作用

两大核心:IOC+AOP

依赖注入

    1)setter方式注入

    2)构造方法注入

概念

Spring是一个轻量级、企业级的开源框架。

作用

1.简化开发,降低企业级开发的复杂性

2.框架整合,高效整合其他技术,提高企业级应用开发与运行效率

两大核心:IOC+AOP

IOC(控制反转):Spring提供了一个容器,这个容器负责对象的创建,初始化等一系列工作,被创建或被管理的对象在IOC容器中统称为Bean。这样我们在使用对象时,由主动new产生对象转换为由容器提供对象。可以用来降低代码之间的耦合度。

DI(依赖注入):在容器中建立bean与bean之间的依赖关系的整个过程,称为依赖注入。

使用对象时不仅可以直接从IOC容器中获取,并且获取到的bean已经绑定了所有的依赖关系。

依赖注入

1.引入Spring依赖坐标

2.依赖注入的方式

    1)setter方式注入

        简单类型

        在bean中定义引用类型属性并提供可访问的set方法 

private String name;   
public void setName(String name) {
    this.name = name;
}
<!--
bean标签:表示配置bean
id属性:类的唯一标识
class属性:类的所在位置(包名.类名)
-->
<bean id="boy" class="com.ucloud.spring01.demo03.Boy">
        <property name="name" value="张三"></property>
</bean>

<!--:property标签:表示配置当前bean的属性
                   name属性:表示配置哪一个具体的属性
                   ref属性:表示参照哪一个bean-->

        引用类型 

        在bean中定义引用类型属性并提供可访问的set方法 

private Girl girl;
public void setGirl(Girl girl) {
    this.girl = girl;
}
 <bean id="boy" class="com.ucloud.spring01.demo03.Boy">
    <property name="girl" ref="girl"></property>
</bean>

<bean id="girl" class="com.ucloud.spring01.demo03.Girl">
    <property name="say" value="I Hata YOU"></property>
</bean>

    2)构造方法注入

  index属性设置按形参位置注入 

        在bean中定义引用类型属性并提供可访问的构造方法 

private String name;
private String sex;
Address address;
public Person(Address address, String name, String sex) {
    this.address = address;
    this.name = name;
    this.sex = sex;
}
 <bean id="person1" class="com.ucloud.spring01.demo05.Person">
        <constructor-arg index="0" ref="addr"></constructor-arg>
        <constructor-arg index="1" value="张三"></constructor-arg>
        <constructor-arg index="2" value="男"></constructor-arg>
</bean>

 使用构造器注入完成强制依赖的注入,使用setter注入完成可选依赖的注入。

在依赖注入时,构造方法注入和设值(Setter)注入有什么区别?

        调用方法不同:setXXX, 构造方法 

        标签不同 :setter ,构造方法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值