Spring5框架2020最新版教程(四)IOC操作Bean管理基于XML配置

一、什么是Bean管理(概念)

Bean指的是两个管理
1、Spring创建对象
2、Spring注入属性

二、Bean管理操作有两种方式

1、基于XML配置方式实现
2、基于注解方式实现
IOC操作Bean管理(基于XML方式)

1、基于XML方式创建对象

<!--配置Book对象创建-->
    <bean id="book" class="com.lds.springdemo.Book"></bean>

(1)在Spring配置文件中,使用Bean标签,标签里面添加对应属性,就可以实现对象的创建
(2)在bean标签中有很多属性,介绍常用属性

  • id属性:唯一标识
  • class属性:类的全路径(包类路径)
  • name属性:其实和id属性作用一样,区别在于可以加特殊符号

(3)创建对象的时候,默认也是去执行无参的构造方法完成对象的创建

2、基于XML方式注入属性

(1)、DI:依赖注入、就是注入属性

面试问题:IOC和DI有什么区别

DI是IOC中一种具体实现,他就表示依赖注入或者说是注入属性,但是在注入属性需要在创建对象的基础之上完成。

第一种注入方式:
(1)、setter方法注入属性(原始写法)

public class Book {
    private String bName;
 
    public void setBnName(String bName) {
        this.bName = bName;
    }

    public static void main(String[] args) {
        Book book = new Book();
        book.setBnName("JAVA");

    }

}

(2)、在Spring配置文件中配置对象的创建,配置属性注入(基于XML配置写法)

<bean id="book" class="com.lds.springdemo.Book">
        <!--使用property完成属性的注入
            name:类里面属性名称
            value:向属性里面注入的值-->
        <property name="bName" value="JAVA"></property>
        <property name="bAuthor" value="LDS"></property>
    </bean>

第二种注入方式:
(1)、有参构造注入(原始写法)


/** 
* @Description: 使用set方法进行注入属性
* @Author: lds
* @Date: 2020/12/8
*/ 
public class Book {
    private String bName;
    private String bAuthor;

    public Book(String bName, String bAuthor) {
        this.bName = bName;
        this.bAuthor = bAuthor;
    }

    public void setbName(String bName) {
        this.bName = bName;
    }

    public void setbAuthor(String bAuthor) {
        this.bAuthor = bAuthor;
    }

}

(2)、在Spring配置文件中配置对象的创建,配置属性注入(基于XML配置)

<!--有参构造注入属性  通过属性是name注入-->
    <bean id="book" class="com.lds.springdemo.Book">
        <constructor-arg name="bName" value="JAVA"></constructor-arg>
        <constructor-arg name="bAuthor" value="LDS"></constructor-arg>
    </bean>
<!--有参构造注入属性  通过索引值注入 0代表:bName 1代表:bAuthor-->

<bean id="book" class="com.lds.springdemo.Book">
        <constructor-arg index="0" value="JAVA"></constructor-arg>
        <constructor-arg index="1" value="LDS"></constructor-arg>
    </bean>
   <!--基于p空间配置 xmlns:p="http://www.springframework.org/schema/p"-->
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:p="http://www.springframework.org/schema/p"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--set方法注入属性-->
    <bean id="book" class="com.lds.springdemo.entity.Book" p:name="JAVA" p:page="100">

    </bean>


</beans>
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

我的名字是雪冬

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值