spring 整合了各種工具,並且spring提供了對各種工具的xml scheme 的配置方式,簡化了開發。
<?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:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd">
</beans>
首先
xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
是必須存在的,可以從spring的文件和例子中查詢到,
xsi:schemaLocation 指定了用於解析和校驗xml的定義檔案(xsd)的位置。
我們以新增aop名稱空間為例:
在spring.jar檔案中的META—INF目錄中提供了spring.schemas 檔案,這個檔案指定了提供支援的功能的xml元素配置的名稱空間定義檔案的位置,在這個檔案中我們可以找到aop的位置:
http://www.springframework.org/schema/aop/spring-aop-2.0.xsd=org/springframework/aop/config/spring-aop-2.0.xsd
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd=org/springframework/aop/config/spring-aop-2.5.xsd
http://www.springframework.org/schema/aop/spring-aop.xsd=org/springframework/aop/config/spring-aop-2.5.xsd
那麼我們可以在spring.jar檔案的對應目錄中找到這些xsd檔案,開啟檔案以後,
可以看到標籤:
<xsd:schema xmlns="http://www.springframework.org/schema/aop"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:beans="http://www.springframework.org/schema/beans"
xmlns:tool="http://www.springframework.org/schema/tool"
targetNamespace="http://www.springframework.org/schema/aop"
elementFormDefault="qualified"
attributeFormDefault="unqualified">
那麼第一個xmlns就是要引進的名稱空間,但是在引進applicationContext.xml之前需要修改為:
xmlns:aop="http://www.springframework.org/schema/aop",
之後新增入applicationContext.xml檔案中,且一定要放置於xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance”之後,順序不能錯。
之後需要在xsi:schemaLocation 中新增位置:
http://www.springframework.org/schema/aop(空格)http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
而/spring-aop-2.5.xsd就是aop的元素的定義的檔名
轉自:zhb0917