关于 Spring 命名空间进入 XML 配置文件的一些疑问.究竟是如何工作的



我在Spring中很新,我有点怀疑将命名空间的概念与我的XML配置文件联系起来。

因此,例如,在我正在处理的项目的根上下文.xml文件中,有以下定义:

<jee:jndi-lookup jndi-name="java:jboss/datasources/myDbDS" id="datasource" expected-type="javax.sql.DataSource" />

具有 jee 名称的步伐,也通过以下方式指定到豆类外部容器中:

xmlns:jee="http://www.springframework.org/schema/jee"

现在我的疑问是,id="数据源"的定义到底是什么?这个:

<jee:jndi-lookup jndi-name="java:jboss/datasources/myDbDS" id="datasource" expected-type="javax.sql.DataSource" />

它是具有特定命名空间的 Spring 经典 bean ,因为它属于 bean 的特定域(具有特定的浇注(还是什么?

如春季文档中所述:

jee 标签处理与 Java EE(Java Enterprise Edition(相关的 配置问题,例如查找 JNDI 对象和定义 EJB 引用

下面是来自 spring 文档的示例:

不使用jee jndi-lookup

<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>

Using jee jndi-lookup

<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>

更多细节在这里

最新更新