Spring的依赖注入之p命名空间和c命名空间

Posted 老王同鞋

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring的依赖注入之p命名空间和c命名空间相关的知识,希望对你有一定的参考价值。

p命名空间是set注入的一种快捷实现方式,想要使用p命名空间注入,需要注意一下几点。

1. 实体类中必须有set方法;

2. 实体类中必须有无参构造器(默认存在);

3. 必须导入p命名空间注入方式依赖。

xml依赖代码:

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

导入后即可使用

<bean id="user" class="com.yd.pojo.User" p:age="18" p:name="老王"/>

c命名空间是构造器注入的一种快捷实现方式,想要使用c命名空间,需要注意一下几点。

1. 实体类中必须存在有参构造器;

2. 必须导入c命名空间注入方式依赖。

xml依赖代码:

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

导入后即可使用

<bean id="user2" class="com.yd.pojo.User" c:age="23" c:name="中王"/>

当使用p命名空间注入时的实体类可以这样写:

package com.yd.pojo;

public class User {
    private String name;
    private int age;

    public String getName() {
        return name;
    }

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

    public int getAge() {
        return age;
    }

    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "User{" +
                "name=‘" + name + ‘‘‘ +
                ", age=" + age +
                ‘}‘;
    }
}

当使用c命名空间注入方式时,实体类可以这样写

package com.yd.pojo;

public class User {
    private String name;
    private int age;
    
    public User(String name, int age) {
        this.name = name;
        this.age = age;
    }

    @Override
    public String toString() {
        return "User{" +
                "name=‘" + name + ‘‘‘ +
                ", age=" + age +
                ‘}‘;
    }
}

以上是关于Spring的依赖注入之p命名空间和c命名空间的主要内容,如果未能解决你的问题,请参考以下文章

Spring入门-----7依赖注入之c命名和p命名空间注入

spring之p命名空间注入

p命名空间简化属性依赖注入之setter方法

Spring的学习_______4.各种参数类型的依耐注入(DI)测试以及P命名空间的注入和C命名空间的注入

p命名空间简化属性依赖注入之setter方法

p命名空间注入