Spring框架的两个简化XML配置文件的p-namespace和c-namespace

spring框架的模块化设计,出现了大量的命名空间。应用开发过程中用到的模块,才需要引入对应的命名空间。

Spring框架的丰富功能,导致了Spring框架的XML配置文件十分复杂。这里要介绍的是两个特殊的命名空间,其出现只是为了简化XML配置文件的编写,并未提供应用所需的逻辑功能。

1. p-namespace
在XML配置文件中,首先引入如下命名空间:
xmlns:p="http://www.springframework.org/schema/p"
然后,在对应的<bean>中,使用p:属性(具体名称可定制),而非子元素<property>,以配置其所依赖的其他Spring Bean
示例如下:

    <bean name="my_classicBean" class="com.example.ExampleBean">  
        <property name="email" value="foo@bar.com"/>  
    </bean>  

等价于:

    <bean name="my_p-namespaceBean" class="com.example.ExampleBean" p:email="foo@bar.com"/>  

注意对比上述示例,特别是p:email属性的用法。
    
2. c-namespace(Spring 3.1及以后出现)
在XML配置文件中,首先引入如下命名空间:
xmlns:c="http://www.springframework.org/schema/c"
然后,在对应的<bean>中,以<bean>的c:属性(具体名称可定制),而非子元素<constructor-arg>,配置其所依赖的其他Spring Bean
示例如下:

    <bean id="bar" class="x.y.Bar"/>  
    <bean id="baz" class="x.y.Baz"/>  
    <bean id="foo" class="x.y.Foo">  
        <constructor-arg ref="bar"/>  
        <constructor-arg ref="baz"/>  
        <constructor-arg value="foo@bar.com"/>  
    </bean>  

 等价于:

    <bean id="bar" class="x.y.Bar"/>  
    <bean id="baz" class="x.y.Baz"/>  
    <bean id="foo" class="x.y.Foo" c:bar-ref="bar" c:baz-ref="baz" c:email="foo@bar.com"/>  

注意对比上述示例,特别是c:bar-ref, c:baz-ref和c:emial属性的用法。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值