sd_zyl 2011-03-11 18:24
浏览 243
已采纳

熟悉spring的请看下,并解释为什么

接口


public interface FooInterface {
public void printFoo();
public void dummyFoo();
}

实现:

public class FooImpl implements FooInterface {
private String s = "init";

public void printFoo() {
    s = "printFoo";
    System.out.println(s);
}

public void dummyFoo() {
    System.out.println(s);
}

}



配置:

<bean id="foo" class="org.springframework.aop.framework.ProxyFactoryBean">
<property name="proxyInterfaces">
<value>test.FooInterface</value>
</property>
<property name="target">
<ref bean="fooTarget"/>
</property>
<property name="singleton">
<value>[color=red]false[/color]</value>
</property>

</bean>
<bean id="fooTarget" class="test.FooImpl" singleton="false"></bean>

main调用:
引用

ApplicationContext context = new ClassPathXmlApplicationContext("test/beans.xml");
FooInterface a = (FooInterface)context.getBean("foo");
a.printFoo();
FooInterface b = (FooInterface)context.getBean("foo");
b.dummyFoo();
  • 写回答

8条回答 默认 最新

  • cheng888qi 2011-03-21 16:23
    关注

    也是刚看到AOP这块,试出来lz想要的结果,相互学习。
    我用的环境是
    spring2.5.6,配置单例有一点不同

    经测试如下配置可以得到楼主想要的结果:
    [code="xml"]


    com.cq.spring.single.FooInterface

    <!--

    -->
    <!--不用target,改为使用targetName-->

    fooTarget

        <property name="interceptorNames" >
            <list>
                <value>logAdvisor</value>
            </list>
        </property>
    
        <property name="singleton">
            <value>false</value>
        </property>
    </bean> 
    

    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(7条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!