【Spring】IOC基于xml方式操作Bean管理

1.什么是Bean管理

(1)Spring创建对象
(2)Spring注入属性:使用set方法(构造器)给对象设置值-->交给Spring

2.基于xml方式创建对象

(1)在配置文件中使用bean标签

<bean id="user" class="com.pxk.User"></bean>

(2)bean标签中的常用属性
id:唯一表示(别名)
class:类全路径
name:类似于id,值可以为特殊字符(较少使用)

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

3.基于xml方式注入属性

(1)DI:依赖注入,就是注入属性
DI是IOC中的一种具体实现,在创建对象的基础之上完成。

(2)使用set方法注入属性
类中给属性提供set方法

public class Book {
    private String bname;
    private String bauthor;

    public void setBname(String bname) {
        this.bname = bname;
    }

    public void setBauthor(String bauthor) {
        this.bauthor = bauthor;
    }
}

bean.xml配置文件中使用property

    <bean id="book" class="com.pxk.Book">
        <property name="bname" value="西游记"></property>
        <property name="bauthor" value="吴承恩"></property>
    </bean>

(3)使用有参构造器注入属性
类中提供有参构造器

public class Order {
    private String oname;
    private String address;

    public Order(String oname, String address) {
        this.oname = oname;
        this.address = address;
    }
}

bean.xml配置文件中使用constructor-arg

    <bean id="order" class="com.pxk.Order">
        <constructor-arg name="oname" value="电脑"></constructor-arg>
        <constructor-arg name="address" value="China"></constructor-arg>
    </bean>

也可以使用索引
<constructor-arg index="0" value = "电脑"><constructor-arg>

测试

    public void test(){
       //1.加载配置文件
        ApplicationContext context = new ClassPathXmlApplicationContext("bean1.xml");

        //2.获取对象
        Order order= context.getBean("order",Order.class);

        System.out.println(order.getOname());   //电脑,加了get方法
    }

(4)p名称空间注入
可以用来替换set方式注入,在配置文件中添加p名称空间
xmlns:p="http://www.springframework.org/schema/p"
image

    <bean id="book2" class="com.pxk.Book" p:bname="红楼梦" p:bauthor="曹雪芹"></bean>
posted @ 2023-02-08 20:33  植树chen  阅读(18)  评论(0编辑  收藏  举报