Java . bean名称中的字符并在SpEL中使用
我有一个简单的spring上下文文件,如下所示:Java . bean名称中的字符并在SpEL中使用,java,spring,spring-el,Java,Spring,Spring El,我有一个简单的spring上下文文件,如下所示: <bean id="acl.provider" class="com.provider.ProviderType" factory-method="getInstance"> <constructor-arg index="0" value="${provider}"/> </bean> <bean id="acl.authentication" class="com.provider.Auth
<bean id="acl.provider" class="com.provider.ProviderType" factory-method="getInstance">
<constructor-arg index="0" value="${provider}"/>
</bean>
<bean id="acl.authentication" class="com.provider.AuthenticationFactory">
<constructor-arg index="0">
<value>#{ @acl.provider==T(com.provider.ProviderType).A
?'classpath:cfg/a.spax'
:null}</value>
</constructor-arg>
</bean>
<bean id="acl.provider" class="com.provider.ProviderType" factory-method="getInstance">
<constructor-arg index="0" value="${provider}"/>
</bean>
<bean id="acl.authentication" class="com.provider.AuthenticationFactory">
<constructor-arg index="0">
<value>#{ @"acl.provider"==T(com.provider.ProviderType).A
?'classpath:cfg/a.spax'
:null}</value>
</constructor-arg>
</bean>
当我将acl.provider
bean名称更改为aclprovider
(删除
字符)时,一切正常
我的问题是:为什么在bean名称中使用
字符并在SpEL
中使用?我在SpEL
中找到了使用的解决方案,如下所示:
<bean id="acl.provider" class="com.provider.ProviderType" factory-method="getInstance">
<constructor-arg index="0" value="${provider}"/>
</bean>
<bean id="acl.authentication" class="com.provider.AuthenticationFactory">
<constructor-arg index="0">
<value>#{ @acl.provider==T(com.provider.ProviderType).A
?'classpath:cfg/a.spax'
:null}</value>
</constructor-arg>
</bean>
<bean id="acl.provider" class="com.provider.ProviderType" factory-method="getInstance">
<constructor-arg index="0" value="${provider}"/>
</bean>
<bean id="acl.authentication" class="com.provider.AuthenticationFactory">
<constructor-arg index="0">
<value>#{ @"acl.provider"==T(com.provider.ProviderType).A
?'classpath:cfg/a.spax'
:null}</value>
</constructor-arg>
</bean>
#{@“acl.provider”==T(com.provider.ProviderType).A
?'classpath:cfg/a.spax'
:null}
我的问题解决了