Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/313.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java . bean名称中的字符并在SpEL中使用_Java_Spring_Spring El - Fatal编程技术网

Java . bean名称中的字符并在SpEL中使用

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

我有一个简单的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.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}
我的问题解决了