Spring ~spring 命名空间

p 命名空间 c 命名空间

简介

p 命名空间

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

c 命名空间

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

  • beans.xml
<?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"
       xmlns:c="http://www.springframework.org/schema/c"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
        https://www.springframework.org/schema/beans/spring-beans.xsd">

    <!--p命名空间注入,可以直接注入属性值-->
    <bean id="user" class="com.guo.pojo.User" p:name="p命名空间" p:age="18"/>

    <!--c命名空间注入,替代构造器参数constructor-arg-->
    <bean id="user2" class="com.guo.pojo.User" c:name="c命名空间" c:age="3" />
</beans>

使用

  1. 新建实体类
package com.guo.pojo;

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

    public User() {
    
    
    }

    public User(String name, int age) {
    
    
        this.name = name;
        this.age = 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 +
                '}';
    }
}

  1. 在beans.xml中添加命名空间
  • p 命名空间
xmlns:p="http://www.springframework.org/schema/p"
  • c 命名空间
xmlns:c="http://www.springframework.org/schema/c"

  1. 在beans.xml中注册
<!--p命名空间注入,可以直接注入属性值-->
    <bean id="user" class="com.guo.pojo.User" p:name="p命名空间" p:age="18"/>

    <!--c命名空间注入,替代构造器参数constructor-arg-->
    <bean id="user2" class="com.guo.pojo.User" c:name="c命名空间" c:age="3" />
  1. 测试
    @Test
    public void testNameSpace(){
    
    
        ApplicationContext context = new ClassPathXmlApplicationContext("userBean.xml");

        //p:namespace
        User user = context.getBean("user", User.class);
        System.out.println(user.toString());

        //c:namespace
        User user2 = context.getBean("user2", User.class);
        System.out.println(user2.toString());
    }

Guess you like

Origin blog.csdn.net/m0_47585722/article/details/120251492