`
yinfan
  • 浏览: 1905 次
  • 性别: Icon_minigender_1
  • 来自: 广州
最近访客 更多访客>>
社区版块
存档分类
最新评论

spring 小问题,那个高手帮忙看哈~~~~~~~

 
阅读更多
AOP中自己写了一个切点,还有一个方法前通知,其中代码是这样的:
前置通知:
package advice;

import java.lang.reflect.Method;

import org.springframework.aop.MethodBeforeAdvice;

public class beforeadvice implements MethodBeforeAdvice {

public void before(Method arg0, Object[] arg1, Object arg2)
throws Throwable {
// TODO Auto-generated method stub

System.out.println(arg2.getClass().getName()+"----"+arg0.getName()+"----"+"前置增强完成");
}

}
切点:
package advice;

import java.lang.reflect.Method;

import org.springframework.aop.ClassFilter;
import org.springframework.aop.support.StaticMethodMatcherPointcutAdvisor;

public class greetingadvisor extends StaticMethodMatcherPointcutAdvisor {

public boolean matches(Method arg0, Class arg1) {
// TODO Auto-generated method stub

return "greetto".equals(arg0.getName());
}

}
目标类:
package advice;

public class naivewaiter implements waiter {

public void greetto(String name) {
// TODO Auto-generated method stub
  System.out.println("greet to "+name);

}

public void serveto(String name) {
//TODO Auto-generated method stub
   System.out.println("serving "+name);
}

}

配置文件:
<bean id="beforeAdvice" class="advice.beforeadvice"></bean>
<bean id="greetingadvisor" class="advice.greetingadvisor" >
<property name="advice" ><ref bean="beforeAdvice"/></property>
</bean>
<bean id="nwaiter" class="advice.naivewaiter"></bean>

<bean id="waiter"  class="org.springframework.aop.framework.ProxyFactoryBean" >
<property name="proxyInterfaces">
<value>advice.waiter</value>
</property>
<property name="interceptorNames">
<list>
<value>beforeAdvice</value>
</list>
</property>
<property name="target" ref="nwaiter"/>
</bean>
目标类接口:
package advice;

public interface waiter {
void greetto(String name);
void serveto(String name);
}
主函数:
public static void main(String[] args) {
// TODO Auto-generated method stub
ApplicationContext ctx=new ClassPathXmlApplicationContext("applicationContext.xml");
//sell sell1=(sell)ctx.getBean("s");
waiter w=(waiter)ctx.getBean("waiter");

w.greetto("yinfan");
w.serveto("xiaoqiang")
问题1:
为什么我这样一个方法前通知结果打印了三跳语句啊?
结果是:
$Proxy0----greetto----前置增强完成
$Proxy0----greetto----前置增强完成
advice.naivewaiter----greetto----前置增强完成
greet to yinfan
serving xiaoqiang
问题2:
waiter w=(waiter)ctx.getBean("waiter");
这里的waiter 是接口,我换成实现接口的类就不行了?这个是为什么呢?是不是这里必须要用接口啊?
问题3:
配置文件中全部都用的JDK代理,要是我换成CGLIB代理就说finanl不能继承~~~~~~~这个是为什么呢?
希望高手帮我看哈嘛 谢谢~~~~~~~~
分享到:
评论

相关推荐

    spring高手之路22开发教程文档.docx

    spring高手之路22spring高手之路22spring高手之路22spring高手之路22spring高手之路22spring高手之路22spring高手之路22spring高手之路22spring高手之路22spring高手之路22spring高手之路22spring高手之路22spring...

    Spring程序高手秘芨原代码

    《Spring程序高手秘芨》是一本深度探讨Spring框架的书籍,其原代码提供了丰富的实践示例,帮助读者深入理解Spring的核心特性和高级用法。在本文中,我们将围绕Spring框架的关键知识点进行详细阐述,以便您更好地掌握...

    2024最新版Spring高手之路指南

    2024最新版Spring高手之路指南2024最新版Spring高手之路指南2024最新版Spring高手之路指南2024最新版Spring高手之路指南2024最新版Spring高手之路指南2024最新版Spring高手之路指南2024最新版Spring高手之路指南2024...

    spring高手之路.docx

    "Spring高手之路"是一个相对宽泛且深入的话题,因为Spring框架本身就是一个庞大而复杂的生态系统,涵盖了从基础的依赖注入(DI)和面向切面编程(AOP)到更高级的数据访问、消息传递、安全、Web开发等多个方面。...

    Spring源码学习文档,绝对值得好好研究~~

    Spring源代码解析(一)Spring中的事务处理.doc Spring源代码解析(二):ioc容器在Web容器中的启动.doc Spring源代码分析(三):Spring JDBC.doc Spring源代码解析(四):Spring MVC.doc Spring源代码解析(五):Spring ...

    spring高手之路23.docx

    关于“Spring高手之路23”的具体内容,由于我无法直接访问或预知未来的文章内容,且目前公开的信息中并未直接提及“Spring高手之路23”的具体标题和内容,因此我将基于Spring框架的相关知识和趋势,为您概述可能包含...

    spring高手之路21.pdf

    "Spring高手之路"是一个广泛的话题,涵盖了Spring框架的多个方面,包括其核心功能、最佳实践、高级特性以及与其他技术和框架的集成。虽然“Spring高手之路21”这个具体标题可能是一个特定的课程、书籍章节或者讲座的...

    springcloud项目,解决unknown问题

    在开发基于Spring Boot和Spring Cloud的应用程序时,经常会遇到各种挑战,其中之一就是“unknown”问题。这通常出现在IDEA环境中,意味着系统无法正确识别或解析某些依赖或配置。本篇文章将详细探讨这个问题,并提供...

    Spring攻略PDF版

    Spring专家力作 理论与实践完美结合 问题描述→解决方案→实现方法 第一部分 核心概念  第1章 控制反转和容器   1.1 使用容器管理组件   1.1.1 问题描述   1.1.2 解决方案   1.1.3 实现方法  ...

    technical-books-spring高手之路24

    ... spring高手之路24 spring高手之路24 spring高手之路24 spring高手之路24 spring高手之路24

    Spring高手之路22.pdf

    关于“Spring高手之路22”的具体内容,由于这是一个较为特定的标题,且直接指向某个具体的文章或教程章节,而我没有直接访问或查看该特定内容的权限,因此无法直接提供该章节的详细内容。然而,我可以根据Spring框架...

    Spring高手之路指南

    Spring高手之路指南

    spring高手之路21

    spring高手之路21

    Spring框架的学习路径和关键知识点,可以帮助你在Spring方面成为高手: 学习路径 基础知识 Java基础 Servle

    spring高手之路23:Spring框架的学习路径和关键知识点,可以帮助你在Spring方面成为高手: 学习路径 基础知识 Java基础 Servlet/JSP JDBC Spring核心 IoC容器 依赖注入(DI) Bean的生命周期 Spring配置文件 AOP...

    spring v3.2源码

    个人觉得spring3.2的源代码比较好编译,没啥脾气,像我之前下载的spring的最新版本源代码,还有spring4.0的源代码,不论是使用jdk1.6还是1.7甚至是1.8编译都出问题,结果还是觉得spring3.2编译过程轻松一点,配合...

    Spring攻略中文版PDF

    Spring专家力作 理论与实践完美结合 问题描述→解决方案→实现方法 第一部分 核心概念  第1章 控制反转和容器   1.1 使用容器管理组件   1.1.1 问题描述   1.1.2 解决方案   1.1.3 实现方法  ...

    spring高手之路22.rar

    在Spring框架的学习过程中,“Spring高手之路”可能是一个系列教程或专栏,旨在帮助开发者从基础到高级逐步掌握Spring框架的各个方面。尽管我无法直接引用“Spring高手之路22”的具体内容,但我可以根据Spring框架的...

    technical-books-spring高手之路23

    https://github.com/doocs/technical-books.git spring高手之路23 spring高手之路23 spring高手之路23 spring高手之路23 spring高手之路23

Global site tag (gtag.js) - Google Analytics