好记性不如烂笔头88-spring3学习(9)-schema的配置的解读和说明

Spring1使用了DTD格式,spring2以后使用的是schema的格式;使用schema的格式,支持了不同类型的配置拥有了自己的命名空间,让配置文件有了更加好的扩展性。

不论什么事情,都是有利有弊,使用了schema格式,bean.xml的文件头的声明就会相对复杂非常多,每当我看到这些复杂的东东,我就觉的头的复杂了起来。
如《弟子规》所言,“功夫到 滞塞通”,这些东西,在实际工作中重复看,用心学,总能体会和了解的。

常见的spring配置说明

一个在简单项目中的完整bean.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:context="http://www.springframework.org/schema/context"
    xmlns:tx="http://www.springframework.org/schema/tx"
    xmlns:p="http://www.springframework.org/schema/p"
    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:task="http://www.springframework.org/schema/task"
    xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
        http://www.springframework.org/schema/task
        http://www.springframework.org/schema/task/spring-task.xsd">

   <bean id="role1" class="com.spring.Role" 
    p:name="范芳铭"
    p:type="admin" />

    <aop:config>
        <aop:advisor pointcut=”execution(* *..facade.*(..))” advice-ref=”txAdvice” />
</aop:config>   
</beans>
  • 1、 默认命名空间

http://www.springframework.org/schema/beans
它没有空间名称,用于Spring Bean的定义;

  • 2、 Xsi标准命名空间

xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”
这个命名空间为每一个文档中命名空间指定相应的schema样式,是标准组织定义的标准命名空间;

  • 3、 自己定义命名空间

xmlns:aop=”http://www.springframework.org/schema/aop”
aop是该命名空间的简称
http://www.springframework.org/schema/aop” 是该命名空间的全程,必须在xsi命名中间为它指定相应的schema文件。
这个命名空间分2步,一个是定义命名空间的名称(比方aop),然后指定命名空间样式文档的位置。

  • 4、 命名空间相应的schema文件
xsi:schemaLocation="
        http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-3.0.xsd
        http://www.springframework.org/schema/tx
        http://www.springframework.org/schema/tx/spring-tx-3.0.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-3.0.xsd
        http://www.springframework.org/schema/task
        http://www.springframework.org/schema/task/spring-task.xsd"

5、 默认命名空间配置

<bean id="role1" class="com.spring.Role" 
  • 6、 aop命名空间配置
<aop:config>
        <aop:advisor pointcut=”execution(* *..facade.*(..))” advice-ref=”txAdvice” />

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。