Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/311.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 如何在XMLBean配置中继承代理对象_Java_Spring_Aop - Fatal编程技术网

Java 如何在XMLBean配置中继承代理对象

Java 如何在XMLBean配置中继承代理对象,java,spring,aop,Java,Spring,Aop,我有一个AOP代理bean,定义如下: <bean id="someService" class="..FactoryBean"> .. <property name="target"> <ref local="target" /> </property> <property name="preInterceptors"><ref local="serviceInterceptors

我有一个AOP代理bean,定义如下:

<bean id="someService" class="..FactoryBean">
    ..
    <property name="target">
        <ref local="target" />
    </property>
    <property name="preInterceptors"><ref local="serviceInterceptors"/></property>
    ..
</bean>

..
..
目标bean:

<bean id="target" class=".." />
<bean parent="target">
    <!-- set some properties -->
</bean>

和目标bean的子级:

<bean id="target" class=".." />
<bean parent="target">
    <!-- set some properties -->
</bean>


我想将目标bean更改为匿名bean,但要维护子bean。唯一的问题是将子bean的父属性设置为AOP代理bean继承自工厂bean而不是目标bean。有解决办法吗?

不太好,但应该可以:

<bean id="proxy" class="org.springframework.aop.framework.ProxyFactoryBean">
    <property name="target">
        <bean class="com.foo.bar.ExampleService" />
    </property>
</bean>

<bean id="targetSource" factory-bean="proxy" factory-method="getTargetSource" />
<bean id="parent" factory-bean="targetSource" factory-method="getTarget" />

<bean parent="parent" />


Anonymous bean仍将获得一个id,但它将是一个Spring自动生成的id。您想使用目标bean做什么?@andrestefan,我能从不同的XML文件访问匿名bean吗?@paul我想做一些类似于
bean parent=“someService”
的事情是否必须指定class属性,那是什么?使目标bean匿名的原因是启用自动连线。否,
class
可以省略,因为存在
parent
属性。当我尝试自动连接
ExampleService
bean时,这会导致一个错误。您的问题是如何从
ProxyFactoryBean
中取出目标对象,而实际上目标本身没有显式的bean。您现在提到的关于自动连线是另一回事。对此很抱歉,使用匿名bean的原因是为了启用
@Autowired
,而不必更改从目标继承的bean子项。你认为这可能吗?