九.Spirng名称空间p的属性注入的方式介绍

来源:互联网 发布:微软打电话软件下载 编辑:程序博客网 时间:2024/06/03 20:33

名称空间 p 的属性注入的方式是Spring2.x 版本后提供的方式.这种注入属性的方式现在不常见,用的也不多,但还是可以了解下.

要了解p名称空间注入属性,首先得了解名称空间.

<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="        http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">

在xm中每个标签的同名属性只允许出现一次,但是有时候我们需要用到同样的属性名也就是要用到名称空间时,这时候就需要使用命名空间了.比如这里的
xmlns
xmlns:xsi 这里就使用了名称空间.
好了,现在就使用p名称空间来简单介绍属性注入.
第一步:引入 p 名称空间
xmlns:p="http://www.springframework.org/schema/p"
第二步:使用 p 名称空间.
使用规则:
普通属性: p:属性名称=””
对象类型属性: p:属性名称-ref=””

完整代码如下:
Hobby.java

package cn.com.yves.spring;public class Hobby {}

User.java

package cn.com.yves.spring;public class User {    private String name;    private Hobby hobby;    public void setName(String name) {        this.name = name;    }    public String getName() {        return name;    }    public Hobby getHobby() {        return hobby;    }    public void setHobby(Hobby hobby) {        this.hobby = hobby;    }}

Application.xml

<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:p="http://www.springframework.org/schema/p" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">    <bean id="user" class="cn.com.yves.spring.User" p:name="Yves" p:hobby-ref="hob"></bean>    <bean id="hob" class="cn.com.yves.spring.Hobby"></bean></beans>

测试代码:

    @Test    public void test() {        // 1 加载spring配置文件,根据配置创建对象        ApplicationContext context = new ClassPathXmlApplicationContext("Application.xml");        // 2 配置文件中的id获取创建的对象        User user = (User) context.getBean("user");        System.out.println(user.getName() + "\t" + user.getHobby());    }

结果:

Yves    cn.com.yves.spring.Hobby@9a7504c

显然这里String类型的属性和对象类型的hobby属性也通过p标签的属性注入,注入到属性.

原创粉丝点击