此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Framework 6.2.0spring-doc.cn

附录

XML 架构

附录的这一部分列出了与集成技术相关的 XML 模式。spring-doc.cn

架构jee

这些元素处理与 Jakarta EE(Enterprise Edition)配置相关的问题, 例如,查找 JNDI 对象和定义 EJB 引用。jeespring-doc.cn

要使用架构中的元素,您需要在顶部具有以下序言 的 Spring XML 配置文件。以下代码段中的文本引用了 correct schema,以便命名空间中的元素可供您使用:jeejeespring-doc.cn

<?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:jee="http://www.springframework.org/schema/jee"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans
		https://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/jee
		https://www.springframework.org/schema/jee/spring-jee.xsd">

	<!-- bean definitions here -->

</beans>

<jee:jndi-lookup/> (简单)

以下示例演示如何使用 JNDI 查找没有架构的数据源:jeespring-doc.cn

<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
	<property name="jndiName" value="jdbc/MyDataSource"/>
</bean>
<bean id="userDao" class="com.foo.JdbcUserDao">
	<!-- Spring will do the cast automatically (as usual) -->
	<property name="dataSource" ref="dataSource"/>
</bean>

以下示例显示了如何使用 JNDI 查找具有架构的数据源:jeespring-doc.cn

<jee:jndi-lookup id="dataSource" jndi-name="jdbc/MyDataSource"/>

<bean id="userDao" class="com.foo.JdbcUserDao">
	<!-- Spring will do the cast automatically (as usual) -->
	<property name="dataSource" ref="dataSource"/>
</bean>

<jee:jndi-lookup/>(使用单个 JNDI 环境设置)

以下示例显示如何使用 JNDI 查找环境变量,而无需:jeespring-doc.cn

<bean id="simple" class="org.springframework.jndi.JndiObjectFactoryBean">
	<property name="jndiName" value="jdbc/MyDataSource"/>
	<property name="jndiEnvironment">
		<props>
			<prop key="ping">pong</prop>
		</props>
	</property>
</bean>

以下示例显示了如何使用 JNDI 查找环境变量:jeespring-doc.cn

<jee:jndi-lookup id="simple" jndi-name="jdbc/MyDataSource">
	<jee:environment>ping=pong</jee:environment>
</jee:jndi-lookup>

<jee:jndi-lookup/>(具有多个 JNDI 环境设置)

以下示例说明如何使用 JNDI 查找多个环境变量 没有:jeespring-doc.cn

<bean id="simple" class="org.springframework.jndi.JndiObjectFactoryBean">
	<property name="jndiName" value="jdbc/MyDataSource"/>
	<property name="jndiEnvironment">
		<props>
			<prop key="sing">song</prop>
			<prop key="ping">pong</prop>
		</props>
	</property>
</bean>

以下示例显示如何使用 JNDI 通过以下方式查找多个环境变量:jeespring-doc.cn

<jee:jndi-lookup id="simple" jndi-name="jdbc/MyDataSource">
	<!-- newline-separated, key-value pairs for the environment (standard Properties format) -->
	<jee:environment>
		sing=song
		ping=pong
	</jee:environment>
</jee:jndi-lookup>

<jee:jndi-lookup/>(复杂)

以下示例显示了如何使用 JNDI 查找数据源和许多 不同的属性没有 :jeespring-doc.cn

<bean id="simple" class="org.springframework.jndi.JndiObjectFactoryBean">
	<property name="jndiName" value="jdbc/MyDataSource"/>
	<property name="cache" value="true"/>
	<property name="resourceRef" value="true"/>
	<property name="lookupOnStartup" value="false"/>
	<property name="expectedType" value="com.myapp.DefaultThing"/>
	<property name="proxyInterface" value="com.myapp.Thing"/>
</bean>

以下示例显示了如何使用 JNDI 查找数据源和许多 不同的属性 :jeespring-doc.cn

<jee:jndi-lookup id="simple"
		jndi-name="jdbc/MyDataSource"
		cache="true"
		resource-ref="true"
		lookup-on-startup="false"
		expected-type="com.myapp.DefaultThing"
		proxy-interface="com.myapp.Thing"/>

<jee:local-slsb/>(简单)

该元素配置对本地 EJB 无状态会话 Bean 的引用。<jee:local-slsb/>spring-doc.cn

以下示例说明如何配置对本地 EJB 无状态会话 Bean 的引用 没有:jeespring-doc.cn

<bean id="simple"
		class="org.springframework.ejb.access.LocalStatelessSessionProxyFactoryBean">
	<property name="jndiName" value="ejb/RentalServiceBean"/>
	<property name="businessInterface" value="com.foo.service.RentalService"/>
</bean>

以下示例说明如何配置对本地 EJB 无状态会话 Bean 的引用 跟:jeespring-doc.cn

<jee:local-slsb id="simpleSlsb" jndi-name="ejb/RentalServiceBean"
		business-interface="com.foo.service.RentalService"/>

<jee:local-slsb/>(复杂)

该元素配置对本地 EJB 无状态会话 Bean 的引用。<jee:local-slsb/>spring-doc.cn

以下示例说明如何配置对本地 EJB 无状态会话 Bean 的引用 以及一些没有 :jeespring-doc.cn

<bean id="complexLocalEjb"
		class="org.springframework.ejb.access.LocalStatelessSessionProxyFactoryBean">
	<property name="jndiName" value="ejb/RentalServiceBean"/>
	<property name="businessInterface" value="com.example.service.RentalService"/>
	<property name="cacheHome" value="true"/>
	<property name="lookupHomeOnStartup" value="true"/>
	<property name="resourceRef" value="true"/>
</bean>

以下示例说明如何配置对本地 EJB 无状态会话 Bean 的引用 以及许多具有 :jeespring-doc.cn

<jee:local-slsb id="complexLocalEjb"
		jndi-name="ejb/RentalServiceBean"
		business-interface="com.foo.service.RentalService"
		cache-home="true"
		lookup-home-on-startup="true"
		resource-ref="true">

<jee:remote-slsb/>

该元素配置对 EJB 无状态会话 Bean 的引用。<jee:remote-slsb/>remotespring-doc.cn

以下示例说明如何配置对远程 EJB 无状态会话 Bean 的引用 没有:jeespring-doc.cn

<bean id="complexRemoteEjb"
		class="org.springframework.ejb.access.SimpleRemoteStatelessSessionProxyFactoryBean">
	<property name="jndiName" value="ejb/MyRemoteBean"/>
	<property name="businessInterface" value="com.foo.service.RentalService"/>
	<property name="cacheHome" value="true"/>
	<property name="lookupHomeOnStartup" value="true"/>
	<property name="resourceRef" value="true"/>
	<property name="homeInterface" value="com.foo.service.RentalService"/>
	<property name="refreshHomeOnConnectFailure" value="true"/>
</bean>

以下示例说明如何配置对远程 EJB 无状态会话 Bean 的引用 跟:jeespring-doc.cn

<jee:remote-slsb id="complexRemoteEjb"
		jndi-name="ejb/MyRemoteBean"
		business-interface="com.foo.service.RentalService"
		cache-home="true"
		lookup-home-on-startup="true"
		resource-ref="true"
		home-interface="com.foo.service.RentalService"
		refresh-home-on-connect-failure="true">

架构jms

这些元素处理配置与 JMS 相关的 bean,例如 Spring 的 Message Listener Containers。这些元素在 标题为 JMS Namespace SupportJMS 章节的部分。有关此支持的完整详细信息,请参阅该章 以及元素本身。jmsjmsspring-doc.cn

为了完整起见,要使用 schema 中的元素,您需要具有 以下 preamble 位于 Spring XML 配置文件的顶部。的 以下代码段引用了正确的架构,以便命名空间中的元素 可供您使用:jmsjmsspring-doc.cn

<?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:jms="http://www.springframework.org/schema/jms"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans
		https://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/jms
		https://www.springframework.org/schema/jms/spring-jms.xsd">

	<!-- bean definitions here -->

</beans>

<context:mbean-export/>

架构cache

您可以使用这些元素来启用对 Spring 的 、 、 和注释。它还支持基于 XML 的声明式缓存。有关详细信息,请参阅启用缓存注释基于 XML 的声明性缓存cache@CacheEvict@CachePut@Cachingspring-doc.cn

要使用架构中的元素,您需要在 top 的 Spring XML 配置文件。以下代码段中的文本引用 正确的架构,以便命名空间中的元素可供您使用:cachecachespring-doc.cn

<?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:cache="http://www.springframework.org/schema/cache"
	xsi:schemaLocation="
		http://www.springframework.org/schema/beans
		https://www.springframework.org/schema/beans/spring-beans.xsd
		http://www.springframework.org/schema/cache
		https://www.springframework.org/schema/cache/spring-cache.xsd">

	<!-- bean definitions here -->

</beans>