Spring学习

1、org.springframework.beans.factory.NoSuchBeanDefinitionException

关键在于proxy-traget-class="true"

问题:注解怎么实现?

public interface Performance {
    void perform(String author, String pitBull);
}

public class Demo1Performance implements Performance {
    public void perform(String author, String pitBull) {
        System.out.println(author + " play " + pitBull);
    }
}

public class Demo2Performance implements Performance {
    public void perform(String author, String pitBull) {
        System.out.println(author + " and " + pitBull);
    }
}

public class AspectDemo {
    public void beforePointCut() {
        System.out.println("before point cut.");
    }

    public void afterPointCut() {
        System.out.println("after point cut.");
    }

    public void watchPointCut(ProceedingJoinPoint point) {
        try {
            System.out.println("around before watch");
            point.proceed();
            System.out.println("arount after watch");
        } catch (Throwable throwable) {
            System.out.println("arount exception");
        }
    }
}


    <aop:config proxy-target-class="true">
        <aop:aspect ref="aspectDemo">
            <aop:pointcut id="perform" expression="execution(* spittr.aop.Performance.perform(String, String))"/>
            <aop:before method="beforePointCut" pointcut-ref="perform"/>
            <aop:after method="afterPointCut" pointcut-ref="perform"/>
            <aop:around method="watchPointCut" pointcut-ref="perform" />
        </aop:aspect>
    </aop:config>

 

2、org.springframework.beans.factory.NoUniqueBeanDefinitionException

关键在于primary="true"


public class Demo2Performance implements Performance {
    public void perform(String author, String pitBull) {
        System.out.println(author + " and " + pitBull);
    }
}

public class SubPerformance extends Demo2Performance {
    public void perform(String author, String pitBull) {
        System.out.println("sub performance:" + author + " and " + pitBull);
    }
}

<bean id="demo2Performance" class="spittr.aop.Demo2Performance" primary="true"/>
<bean id="subPerformance" class="spittr.aop.SubPerformance"/>

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值