5

Springの学習Spring構成ファイルで2種類のxmlnsの定義を見つけました。これで始まるもの:

 <beans xmlns="http://www.springframework.org/schema/beans"

春のドキュメントで見つけました

そしてもう1つはこれから始まります:

 <beans:beans  xmlns="http://www.springframework.org/schema/mvc"

どちらも正常に動作します。私が観察した1つの違いは、次のように2番目の定義を使用している場合は、すべてのタグを名前beanで開始する必要があることです。

<beans:import resource="hibernate-context.xml" /> 

それ以外の場合は次のように書くことができます

 <import resource="hibernate-context.xml" />

彼らはどのような大きな違いを生み出しますか?

4

1 に答える 1

6

これはSpringに固有のものではありませんが、XMLと名前空間に関するものです-参照はここにあります:http ://www.w3schools.com/xml/xml_namespaces.asp、http : //en.wikipedia.org/wiki/XML_namespace

要約すると、最初に

<beans xmlns="http://www.springframework.org/schema/beans"

Beanスキーマをこのxmlファイルのデフォルトにします。これにより、名前空間プレフィックスなしでこのBeanスキーマの要素を参照できるようになります。したがって、このスキーマはどこで定義されていますか-スキーマへの参照は通常、次のようなschemaLocations属性に含まれています-

xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd" 

上記のことは、 http://www.springframework.org/schema/beansの定義が対応する.xsdファイルに存在するということです。

2番目の例では-

<beans:beans  xmlns="http://www.springframework.org/schema/mvc" xmlns:beans="http://www.springframework.org/schema/beans"

これで、mvc名前空間をデフォルトの名前空間として定義しているため、この場合、mvcスキーマの任意の要素をプレフィックスなしで参照できますが、Beanスキーマの要素を参照する場合は、それを参照する必要があります。サンプルbeans:ののようなプレフィックスを使用するbeans:import

于 2012-07-23T11:42:09.937 に答える