【Spring】DI依赖注入实例 构造器注入 c、p命名空间注入

构造器注入

一、搭建环境

我们先创建一个user类。其中字段包括 id name address

Address是在包里声明的另一个类。

 

 

/**
 * @Description: 用户类 用来构造器注入以及cp命名空间注入
 * @Author: cckong
 * @Date:
 */
public class User {
    private int id;
    private String name;
    private Address address;

    public User(int id, String name, Address address) {
        this.id = id;
        this.name = name;
        this.address = address;
    }

    public User() {
    }


    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Address getAddress() {
        return address;
    }

    public void setAddress(Address address) {
        this.address = address;
    }

    @Override
    public String toString() {
        return "User{" +
                "id=" + id +
                ", name='" + name + '\'' +
                ", address=" + address +
                '}';
    }
}

二、使用构造器注入

用构造器注入 必须书写有参构造方法(无参最好也写上 毕竟写有参就不会自动生成无参了)

 

 在配置文件中 可以只注入2个参数 但是必须要有那2个参数的构造器 否则会报错

 

我们来看一下注入的语句

 

 

三、测试

 

 

 

 

c p命名空间注入

一、环境搭建

c p命名空间其实就是构造器constructor以及set注入的properties的快捷方式

要在配置文件里加上

xmlns:p=“http://www.springframework.org/schema/p

xmlns:c=“http://www.springframework.org/schema/c

 

 

c空间

c:字段名。也可以变成全参构造的第几个比如c:01之类的

 <bean id="user2" class="com.lei.pojo.User" c:id="01" c:name="cckong" c:address-ref="address" ></bean>

 

 

p空间

 <bean id="user3" class="com.lei.pojo.User" p:id="01" p:name="cckong" p:address-ref="address"></bean>

 

posted @ 2021-02-04 00:18  枫叶像思念  阅读(149)  评论(0编辑  收藏  举报