我试图通过覆盖原始服务的bean定义来实现代理服务提供程序,然后使用我的代理服务。然而,正如名称所示,代理服务需要引用原始服务以委托调用。
我发现很难在使用原始bean定义的情况下覆盖bean定义,而不会遇到循环引用的问题。
例如:
<!-- Original service def in spring-context.xml -->
<bean id="service" class="com.mycompany.Service"/>
<!-- Overridden definition in spring-plugin-context.xml -->
<bean id="service" class="com.mycompany.DelegatedService"/>
<constructor-arg ref="service"/>
</bean>
这个有可能吗?
AutoProxyCreator
不会代理类,而是代理 bean。无论哪个类加载器加载目标类都不应该有影响,被代理的是目标对象,Spring 实例化该目标对象。 - skaffman