java.lang.ClassCastException: $Proxy6
出现了这个异常,我以为spring的版本不对,换了又换,结果还是不对,后来才知道是些测试类的时候写成这样的了:
UserManagerImpl userImpl = (UserManagerImpl)factory.getBean("userManagerImpl");
其实一看看出来没有什么错误,后来知道$Proxy6是指没有实现接口,才恍然大悟。
应该修改成:
IUserManager userImpl = (IUserManager)factory.getBean("userManagerImpl");
我就简单列出我写的一些类吧:
这是核心实现切面的那个类:
@Aspect
public class CheckSecurityImp implements ICheckSecurity {
//allAddMethod就像一个id,是一个切入点,执行add的所有方法(通配符)
@Pointcut("execution(* add*(..))")
private void allAddMethod(){}
//在指定的符合的add方法的之前执行
@After("allAddMethod()")
public void checkSecurity() {
System.out.println("实现全面的安全检查");
}
}
对应的那个接口:
public interface ICheckSecurity {
public void checkSecurity();
}
那个spring的配置文件:
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Application context definition for JPetStore's business layer.
- Contains bean references to the transaction manager and to the DAOs in
- dataAccessContext-local/jta.xml (see web.xml's "contextConfigLocation").
-->
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd">
<aop:aspectj-autoproxy />
<bean id="userManagerImpl" class="com.spring.aop.UserManagerImpl"></bean>
<bean id="checkSecurityImp" class="com.spring.aop.CheckSecurityImp"></bean>
</beans>
分享到:
相关推荐
AspectJ是一个独立的AOP框架,它提供了自己的语法,Spring可以与其集成来实现AOP功能。 使用AspectJ注解方式实现AOP操作时,首先需要在项目中引入AOP相关依赖。然后,可以通过定义一个增强类,并在该类上添加@...
Spring框架是Java开发领域中的一个重要组成部分,它以其强大的功能和灵活的设计赢得了广泛的赞誉。本篇文章将深入探讨Spring的核心模块,包括`spring-context`、`spring-webmvc`、`spring-web`、`spring-beans`、`...
6. `spring-util-4.0.xsd`:这是一个通用的DTD,提供了对类型安全的集合注入的支持,如`<util:list>`、`<util:map>`、`<util:properties>`等,方便了复杂配置的编写。 7. `spring-tool-4.0.xsd`:这个DTD主要服务于...
本项目“spring+springmvc+mybatis+maven学生管理系统”就是一个很好的学习实例,它展示了如何将这三个框架整合在一起,用于实现一个简单的学生信息管理系统。 1. **Spring框架**:Spring是Java应用的核心框架,...
- **Spring** 是一个全面的Java企业级应用框架,提供依赖注入(Dependency Injection,DI)、面向切面编程(Aspect-Oriented Programming,AOP)等功能。 - `spring-web-4.1.3.RELEASE.jar` 支持Spring与Web应用的...
Spring Boot基于约定优于配置的原则,使得开发者可以快速启动一个包含各种功能的Web应用。它内置了Tomcat服务器,支持自动配置Spring组件,并且可以轻松集成其他流行框架,如Spring Data、Spring Security等。 ...
Spring 是一个开源的 Java 应用框架,它提供了一种依赖注入(Dependency Injection,DI)的方式,使开发者能够轻松地管理对象及其依赖关系。Spring 提供了 AOP(面向切面编程)支持,用于处理如日志、事务管理等通用...
首先我要恭喜你,遇见问题,意味着你又有涨经验的机会了,每解决一个问题,你的JAVA经验值就应该上升几百点,问题遇到的越多,知识提升的越快。 但是总是解决不了也是很恼人的,怎么办呢? 我一般要求我们的...
"Meet:遇见"这个标题可能是指一个基于Java开发的项目或者应用,它旨在帮助人们建立联系,进行社交互动。虽然描述较为简洁,但我们可以通过Java的相关知识点来深入探讨。 1. **Java基础**: Java是由Sun Microsystems...
总结来说,"网上购书系统"的开发涉及Java、JSP、MySQL以及一系列的框架技术,通过MVC设计模式和高效的开发工具,实现了一个功能完备、用户体验良好的在线购书平台。理解并掌握这些技术,对于提升Java Web开发能力...