-----------------------------------接口------------------------------------
package common;
import domain.UserBean;
public interface IUser {
public void addUser(UserBean user);
public String findUserById(int stuId);
}
----------------------------------实现类------------------------------------
package common;
import domain.UserBean;
public class UserImpl implements IUser {
public void addUser(UserBean user) {
System.out.println("-----------add User------------");
}
public String findUserById(int stuId) {
System.out.println("-----------find User------------");
return "Jeson";
}
}
-------------------------------安全验证类----------------------------------
package dynamicProxy;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Before;
import org.aspectj.lang.annotation.Pointcut;
@Aspect
public class SecurityHandler{
@Pointcut("execution(* common.UserImpl.add*(..))")//exection中的 第一个*号表示匹配所有返回类型 后面的..表示匹配所有参数
private void addAllMethod(){}
@Before("addAllMethod()")
public void checkSecurity()
{
System.out.println("----------security checking---------------");
}
}
-----------------------------配置文件-------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<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="userIm" class="common.UserImpl"/>
<bean id="secu" class="dynamicProxy.SecurityHandler"/>
</beans>
----------------------------------执行-----------------------------------
package action;
import org.springframework.beans.factory.BeanFactory;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import common.IUser;
import common.UserImpl;
import domain.UserBean;
import dynamicProxy.SecurityHandler;
public class DynamicProxyAction {
/**
* @param args
*/
public static void main(String[] args) {
BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext.xml");
IUser user = (IUser)factory.getBean("userIm");
user.findUserById(1);
}
}
-------------------------------------------------------输出-------------------------------------
log4j 消息省略
----------security checking---------------
-----------add User------------
分享到:
相关推荐
Spring Aop的使用实例
spring aop
spring 采用aop 的实例
spring AOP的实例代码,有着详细的讲解,
Spring AOP配置的实例,最基本的Spring AOP配置
aop入门。
spring aop 拦截实例,下载下来直接就可以用了,很好很方便。
使用SpringAOP完成日志记录功能的实例
spring aop 拦截 实例spring aop 拦截 实例spring aop 拦截 实例
用spring AOP做的最简单的日志记录小例子,特别简单,可直接运行。
通过对SRPING aop的使用和研究,总结出来的SPRING AOP使用原理,以及在使用spring aop过程中要注意的问题
Spring AOP 入门实例1
Spring AOP 日志管理 实例LoggingThrowsAdvice.java
Spring AOP 几个不同使用方法的完整例子,使用Junit4c测试, 在我的博客上有不同配置组合的说明,可以参考
NULL 博文链接:https://306963591.iteye.com/blog/1129837
spring aop jar 包
spring aop spring aop spring aop spring aop spring aop spring aop spring aop spring aop spring aop
一、适合人群 1、具备一定Java编程基础,初级开发者 2、对springboot,mybatis,mysql有基本认识 3、对spring aop认识模糊的,不清楚如何实现Java 自定义注解的 ...4、spring boot,mybatis,druid,spring aop的使用
里面有Spring-AOP的介绍(word文档),还有写了一些Spring的实例(MyEclipse项目),直接导入项目就可以运行了。
spring的aop使用实例,对于深入学习spring这有很大的作用