`

Spring学习 -AOP碰到的问题

阅读更多
1.
今天看了怎么弄AOP,跟着别人写了半天,是在自己一些代码上写的。好不容写完了,但运行一下,咋后台什么东西都没有呢,难道我被玩了?
后来新建一个干净的项目,重新写了下,运行的时候,后台有东西了,就是想要的。
但是为什么原先的不行呢?
后来看了下,原因来自
<bean id="testCreateInstance1" class="com.app.impl.TestCreateInstance" p:message="我的哈哈">
	</bean>	
	<bean id="testCreateInstance2" class="com.app.impl.TestCreateInstance" 
		p:testMessage="不是哈哈1"
		factory-method="staticCreateInstance">
	</bean>
	<bean id="testCreateInstance3" factory-bean="testCreateInstance1"
		p:testMessage="不是哈哈2"
		factory-method="createInstance">
	</bean>

表达式: @After("execution(public * *(..))")
其中创建方式:
public static MyTestInstance staticCreateInstance(){
		MyTestInstance instance = new MyTestInstance();
		//System.out.println("使用静态工厂方法创建Bean");
		return instance;
	}
	public MyTestInstance createInstance(){
		MyTestInstance instance = new MyTestInstance();
		//System.out.println("调用实例工厂方法创建Bean");
		return instance;
	}


这些是学习创建实例,静态创建,实例创建的时候的配置,去掉就好,尤其是factory-method属性。
但真正原因是为什么呢?在寻找中............

2.ClassCastException: $Proxy7异常:
http://hi.baidu.com/like_dark/blog/item/20c95e63eba00a690d33fa2a.html
JdbcDao personService = (JdbcDao) cxt.getBean("personService");//这个地方返回不能是实现类,应该是接口,这样才符合代理

3....
分享到:
评论

相关推荐

    spring-aop-aspectj-case

    描述中提到的博文链接虽然没有具体内容,但通常博主会分享在实际项目中如何结合Spring AOP和AspectJ来解决问题的经验或者详细教程。在实际开发中,开发者可能会遇到以下知识点: 1. **Spring AOP基础**: - **代理...

    spring-cglib-repack-3.1.jar,spring-objenesis-repack-2.1.jar

    当我们在研究或编译Spring 4.0的源码时,可能会遇到一些依赖问题,其中"spring-cglib-repack-3.1.jar"和"spring-objenesis-repack-2.1.jar"是两个关键的jar包,它们在源码编译过程中起着至关重要的作用。本文将详细...

    spring-cglib-repack-3.2.6.jar,spring-objenesis-repack-2.6.jarspring-cglib-repack

    如果没有这些库,尝试构建或运行包含Spring AOP特性的代码可能会遇到错误。因此,将这些jar包添加到项目的类路径中,可以确保源码编译成功并能够正常运行。 总的来说,`spring-cglib-repack-3.2.6.jar` 和 `spring-...

    官方原版源码spring-framework-5.2.3.RELEASE.zip

    例如,当我们遇到Spring的依赖注入问题时,可以通过查看`BeanFactory`和`ApplicationContext`的相关源码来定位问题。同样,对于AOP的使用,了解`AOPProxy`和`Advised`的工作流程,可以帮助我们更准确地编写和调试切...

    hibernate-aop

    在实际项目中,你可能会遇到如何选择合适的通知类型(如前置通知、后置通知、环绕通知)和连接点的问题。前置通知(Before Advice)在目标方法执行前运行,可以用来进行预处理;后置通知(After Advice)在目标方法...

    官方完整包 spring-framework-5.2.15.RELEASE-dist.zip

    开发者可以通过这些文档快速学习如何使用Spring框架的各种功能,理解其工作原理,解决在开发过程中遇到的问题。 4. **Spring-5.2.15.RELEASE-schema.zip**:这个文件可能包含了Spring框架配置文件的XML Schema定义...

    3.2版本Spring源码需要源码所需要的jar:spring-asm-repack-5.0.4.jar,spring-cglib-repack-3.1.jar

    当我们深入研究Spring框架的源码时,了解其内部工作原理,能够帮助我们更好地利用这个强大的工具,并且在遇到问题时能更有效地进行调试。 标题中提到的"3.2版本Spring源码需要源码所需要的jar:spring-asm-repack-...

    spring高版本源码分析缺lib spring-cglib-repack-3.2.4.jar和spring-objenesis-repack-2.4.jar

    在Spring框架的高版本源码分析过程中,可能会遇到缺少特定库的情况,比如"spring-cglib-repack-3.2.4.jar"和"spring-objenesis-repack-2.4.jar"这两个文件。这些文件是Spring框架运行时的重要组成部分,对于理解和...

    官方源码 spring-framework-5.2.15.RELEASE.zip

    通过深入学习Spring Framework 5.2.15.RELEASE的源码,开发者不仅可以提升自身的技术能力,也能更好地利用Spring框架解决实际开发中遇到的问题,提高代码质量和开发效率。在后续的开发过程中,对源码的理解也会为...

    spring学习----工厂Bean

    当Spring容器遇到一个被标记为FactoryBean的Bean定义时,它不会直接实例化这个Bean,而是调用`getObject()`方法来获取实际需要的对象。 在实际应用中,工厂Bean有多种用途。例如: 1. **复杂初始化逻辑**:如果一...

    spring mvc-spring boot-mybatis

    同时,遇到问题时,可以参考文档、在线教程或者向社区提问,以获得帮助。 总之,"spring mvc-spring boot-mybatis" 是一个非常有价值的资源,尤其对于刚开始接触这些框架的开发者。通过实践和学习,不仅可以掌握每...

    spring-cglib-repack-3.2.5.jar spring-objenesis-repack-2.6.jar

    在深入学习Spring源码的过程中,经常会遇到一些依赖的库,如`spring-cglib-repack-3.2.5.jar`和`spring-objenesis-repack-2.6.jar`,这两个库在Spring框架的运行和扩展中起着关键作用。 首先,`spring-cglib-repack...

    Spring源码导入Eclipse缺失Jar包spring-asm-repack-5.0.4+spring-cglib-repack-3.1

    然而,将Spring源码导入Eclipse这样的集成开发环境(IDE)时,可能会遇到一些依赖问题,特别是对于某些特定的库如ASM和CGLIB。在本案例中,标题和描述提到的"Spring源码导入Eclipse缺失Jar包spring-asm-repack-5.0.4...

    spring-cglib-repack-3.2.6.jar和spring-objenesis-repack-2.6.jar

    在深入探讨Spring框架的核心组件和工作原理时,我们经常会遇到需要构建或运行Spring源码的情况。Spring-cglib-repack-3.2.6.jar和spring-objenesis-repack-2.6.jar是两个至关重要的依赖库,它们在Spring框架的内部...

    spring-mybatis-spring-2.0.3.zip

    Spring是一个开源的企业级应用框架,它提供了全面的编程和配置模型,包括依赖注入(DI)、面向切面编程(AOP)以及丰富的MVC支持。而MyBatis则是一个轻量级的ORM框架,它简化了SQL操作,允许开发者直接编写SQL语句,...

    springaop学习

    ### Spring AOP 学习知识点详解 #### 一、Spring AOP 原理 **Spring AOP**(面向切面编程)是 Spring 框架中的一个关键特性,它提供了一种优雅的方式来处理横切关注点(cross-cutting concerns)。在实际应用中,...

    spring-framework-3.0.6.RELEASE.zip

    这些深入的了解可以帮助开发者在遇到问题时迅速定位,优化性能,甚至为框架贡献自己的代码。 在实际开发中,Spring 3.0.6的源码学习不仅可以提升个人技术水平,还可以帮助企业构建更加稳定、高效的应用。例如,通过...

    spring AOP的运用

    Spring AOP,全称Aspect-Oriented Programming(面向切面编程),是Spring框架的重要组成部分,它为Java应用程序提供了声明式的企业级服务,如事务管理、日志记录等。AOP的核心概念是切面(Aspect)和通知(Advice)...

    springbook-master.rar

    - **进阶阶段**:学习AOP、MVC等模块,理解其工作原理。 - **源码阅读**:逐步深入到Spring的源码,如BeanFactory、ApplicationContext、AOP代理等关键部分。 - **实践应用**:结合实际项目,将理论知识应用于...

    spring-modules-0.8.

    通过阅读和学习这些示例,可以快速上手并解决在集成过程中可能遇到的问题。 6. **依赖管理**:在使用 `spring-modules-0.8` 时,需要确保所有相关的依赖库都已正确引入,这可能包括 Spring 框架的其他模块、jbpm ...

Global site tag (gtag.js) - Google Analytics