Spring采用p名称空间注入的方式

从Spring 2.0开始,就支持使用名称空间的可扩展配置格式。这些名称空间都是基于一种XML Schema定义。

目的:是为了避免使用<property>注入使用到太多的尖括号,达到简化配置的目的。

命名空间P的使用方法:

1、引入Schema URI:http://www.springframework.org/schema/p

2、引入属性值和属性引用不同

引入属性值:p:属性名=" 属性值 "     例如:p:userName="小王" 

引入引用: p:属性名-ref=" 属性值 "   例如:p:userDao-ref="userDao"

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

     <bean id="user" class="com.test.spring.aop.User"></bean>
    <bean id="userDao" class="com.test.spring.aop.UserDao"></bean>
    <bean id="userService" class="com.test.spring.aop.UserService">
        <property name="userName" value="小王"></property>
        <property name="userDao" ref="userDao"></property>
    </bean> 
    <!--<bean id="userService" class="com.test.spring.aop.UserService" p:userName="小王" p:userDao-ref="userDao"></bean>-->
</beans>


举例说明:
    <bean name="jike" class="com.pers.Person">
        <property name="name" value="jike li"/>
        <property name="easy" ref="mike"/>
    </bean>
    <bean name="kiss" 
        class="com.pers.Person"
        p:name="kiss wang"
        p:spouse-ref="mike"/>
    <bean name="mike" class="com.pers.Person">
        <property name="name" value="mike zhang"/>
    </bean>
第一个bean定义中使用了 <property name="easy" ref="mike"/> 来建立bean  jike 到bean mike 的引用,而第二个bean定义则采用 p:spouse-ref="mike" 属性(attribute)的方式达到了同样的目的。在这个例子中," spouse "是属性(property)名,而" -ref “则用来说明该属性不是一个具体的值而是对另外一个bean的引用。

我们可以看出:p名称空间没有标准的XML格式定义灵活,比如说,bean的属性名是以Ref结尾的,那么采用p名称空间定义就会导致冲突,而采用标准的XML格式定义则不会出现这种问题。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一位远方的诗人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值