zoukankan      html  css  js  c++  java
  • SPRING---------配置文件的命名空间

    两种格式的配置文件:

    DTD和Schema区别:

     Schema是对XML文档结构的定义和描述,其主要的作用是用来约束XML文件,并验证XML文件有效性。DTD的作用是定义XML的合法构建模块,它使用一系列的合法元素来定义文档结构。它们之间的区别有下面几点:

           1、Schema本身也是XML文档,DTD定义跟XML没有什么关系,Schema在理解和实际应用有很多的好处。

           2、DTD文档的结构是“平铺型”的,如果定义复杂的XML文档,很难把握各元素之间的嵌套关系;Schema文档结构性强,各元素之间的嵌套关系非常直观。

          3、DTD只能指定元素含有文本,不能定义元素文本的具体类型,如字符型、整型、日期型、自定义类型等。Schema在这方面比DTD强大。

          4、Schema支持元素节点顺序的描述,DTD没有提供无序情况的描述,要定义无序必需穷举排列的所有情况。Schema可以利用xs:all来表示无序的情况。

         5、对命名空间的支持。DTD无法利用XML的命名空间,Schema很好满足命名空间。并且,Schema还提供了include和import两种引用命名空间的方法。

    这里主要讲解spring的配置文件的命名空间

    复制代码
    复制代码
    1 <?xml version="1.0" encoding="UTF-8"?>
    2 <beans xmlns="http://www.springframework.org/schema/beans"  <!--默认命名空间:表示未使用其他命名空间的所有标签的默认命名空间-->
    3     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"   <!--xsi标准命名空间,用于指定义自定义命名空间的schema文件,声明后就可以使用 schemaLocation 属性了-->
    4     xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">  <!--此处可以不配置,可以用来引用schema在本地的副本-->
    5    
    6     
    7 
    8 </beans>
    复制代码
    复制代码

    为每个命名空间指定了对应的Schema文档的时候,定义的语法为:

      “全称命名空间1  空格  全称命名空间1对应的Schema文件空格”

    其他命名空间与

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    同一级别下配置即可

    • util

    util标签用来配置集合、常量等的

    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation中需要定义
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd

      使用:分别使用<util:list>、<util:map>、<util:set>、<util:properties>等标签,用来 

         取代ListFactoryBean、MapFactoryBean、SetFactoryBean、PropertiesFactoryBean。
      用途一:直接使用<util:properties id="appProps" location="classpath:META-INF/app.properties" />指定了配置文件
        以前需要使用
          <!-- creates a java.util.Properties instance with values loaded from the supplied location -->
            <bean id="jdbcConfiguration" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
              <property name="location" value="classpath:com/foo/jdbc-production.properties"/>
            </bean>
        spring中id就是这个类的一个别名
        现在只需使用
          <!-- creates a java.util.Properties instance with values loaded from the supplied location -->
            <util:properties id="jdbcConfiguration" location="classpath:com/foo/jdbc-production.properties"/>

        

    • jee

    jee标签用来处理javaee标准相关的问题,例如查询一个jndi对象以及定义一个ejb的引用等

    xmlns:jee="http://www.springframework.org/schema/jee"
    xsi:schemaLocation中需要定义
    http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee.xsd
    • lang 

    lang用来将那些已经被定义在一些动态语言(例如Jruby和Groovy)中的对象作为beans中的对象存放到spring容器中

    xmlns:lang="http://www.springframework.org/schema/lang"
    xsi:schemaLocation中需要定义
    http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang.xsd
    • jms 

    xmlns:jms="http://www.springframework.org/schema/jms"
    http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms.xsd
    • tx (transaction) 

    使用时建议配合aop

    xmlns:aop="http://www.springframework.org/schema/aop"
    xmlns:tx="http://www.springframework.org/schema/tx"
    http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
    • aop 

    xmlns:aop="http://www.springframework.org/schema/aop"
    http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
    • context 

    xmlns:context="http://www.springframework.org/schema/context"
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
    • jdbc 

    xmlns:jdbc="http://www.springframework.org/schema/jdbc"
    http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsd
    • cache 

    xmlns:jdbc="http://www.springframework.org/schema/cache"
    http://www.springframework.org/schema/cache http://www.springframework.org/schema/jdbc/spring-cache.xsd
    • 完整的一个配置文件头如下

    复制代码
    复制代码
    <?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:aop="http://www.springframework.org/schema/aop"
        xmlns:cache="http://www.springframework.org/schema/cache"
        xmlns:context="http://www.springframework.org/schema/context"
        xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:jee="http://www.springframework.org/schema/jee"
        xmlns:jms="http://www.springframework.org/schema/jms" xmlns:lang="http://www.springframework.org/schema/lang"
        xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:oxm="http://www.springframework.org/schema/oxm"
        xmlns:p="http://www.springframework.org/schema/p" xmlns:task="http://www.springframework.org/schema/task"
        xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd    
            http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-4.1.xsd    
            http://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-4.1.xsd    
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd    
            http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc-4.1.xsd    
            http://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-4.1.xsd    
            http://www.springframework.org/schema/jms http://www.springframework.org/schema/jms/spring-jms-4.1.xsd    
            http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-4.1.xsd    
            http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-4.1.xsd    
            http://www.springframework.org/schema/oxm http://www.springframework.org/schema/oxm/spring-oxm-4.1.xsd    
            http://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task-4.1.xsd    
            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-4.1.xsd    
            http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-4.1.xsd">
    
    
    
    </beans>      
    复制代码
    复制代码

    reference:

    [1] http://iswift.iteye.com/blog/1657537

    [2] http://www.cnblogs.com/brolanda/p/4167553.html

  • 相关阅读:
    hdu 1754 I Hate It
    hdu 2546 饭卡
    hdu 4506 小明系列故事——师兄帮帮忙
    hdu 3665 Seaside
    hdu 3790 最短路径问题
    hdu 1869 六度分离
    最长递增字串的三种做法
    问题集???
    IOS开发学习 碎片S
    超级台阶 (NYOJ—76)
  • 原文地址:https://www.cnblogs.com/icebutterfly/p/8463772.html
Copyright © 2011-2022 走看看