Spring-从JNDI设置属性值

Spring-从JNDI设置属性值,spring,properties,jndi,Spring,Properties,Jndi,这是对我上一个问题的一点补充 例如,如果我有一段.xml <bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean"> <property name="persistenceUnitName" value="SpringMVCTest" /> <property name="jpaProperties"&g

这是对我上一个问题的一点补充

例如,如果我有一段.xml

<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
    <property name="persistenceUnitName" value="SpringMVCTest" />
    <property name="jpaProperties">
        <props>
            <prop key="hibernate.dialect" >

            </prop>
        </props>
    </property>
</bean>

现在,我想将
hibernate.dialogue
设置为jndi通过
jdbc/dialogue
公开的值,但当我放置
时,我得到了
从元素“jee:jndi lookup”开始发现的无效内容。此
处不需要任何子元素,因此我怀疑无法在
prop
中放置任何标记


那么,有什么方法可以将jndi资源插入到这个属性中吗?

不完全确定,但您应该可以在这里使用Spring EL,如下所示:

<jee:jndi-lookup id="dialect" jndi-name="..." />


<bean id="entityManagerFactory"
    class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
    <property name="persistenceUnitName" value="SpringMVCTest" />
    <property name="jpaProperties">
        <props>
            <prop key="hibernate.dialect" >#{dialect}</prop>
        </props>
    </property>
</bean>

#{方言}