spring-AOP

原创 2016年08月29日 17:03:14

spring-AOP

1,实体类

public class User {
	
	private String username;
	private String password;
	
	public String getUsername() {
		return username;
	}
	public void setUsername(String username) {
		this.username = username;
	}
	public String getPassword() {
		return password;
	}
	public void setPassword(String password) {
		this.password = password;
	}
}
2,数据库操作Dao类

public interface UserDao {
	
	public void save(User u);
	
}
3,数据库实现类

@Component
public class UserDaoImpl implements UserDao{

	@Override
	public void save(User u) {
		System.out.println("a user save !");
	}
	
}
4,业务service类

@Service
public class UserService {
	
	private UserDao userDao;
	
	public UserDao getUserDao() {
		return userDao;
	}
	
	@Resource   //默认是按名称userDao
	public void setUserDao(UserDao userDao) {
		this.userDao = userDao;
	}
	
	public void Add(User u){
		this.userDao.save(u);
	}
}
5,代理处理类

@Aspect
public class LogInterceptor {
	
	public void before(){
		System.out.println("method start!");
	}
	public void end(){
		System.out.println("method end!");
	}
}

6,xml配置

<?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:context="http://www.springframework.org/schema/context"
 		xmlns:aop="http://www.springframework.org/schema/aop"
 		xsi:schemaLocation="http://www.springframework.org/schema/beans
        http://www.springframework.org/schema/beans/spring-beans.xsd
        http://www.springframework.org/schema/context
        http://www.springframework.org/schema/context/spring-context-2.5.xsd
        http://www.springframework.org/schema/aop
        http://www.springframework.org/schema/aop/spring-aop-2.5.xsd" >
	
	<context:annotation-config /> 
	 <!--默认初始化4个处理annotation的bean,若扫描到写的有@Autowired 将会调用set方法注入  
	 		 是根据byType注入的   若有两个类型u的话,可以使用@Qualifier("u")  -->
	<context:component-scan base-package="com.cn.sxt" />
	<!-- 开启自动扫描,之后就不用bean注,会自动根据类名首字母小写作为bena的名字 -->
	
	<bean id="logInteceptor" class="com.cn.sxt.aop.LogInterceptor"></bean>
	<aop:config>
		<aop:pointcut expression="execution(public * com.cn.sxt.service..*.*(..))" id="servicePointcut"/>
		<aop:aspect id="logAspect" ref="logInteceptor">
			<aop:before method="before" pointcut-ref="servicePointcut"/>
			<aop:after method="end" pointcut-ref="servicePointcut"/>
		</aop:aspect>
	</aop:config>
</beans>

7,测试类

@Test
	public void testAdd() throws JDOMException, IOException, InstantiationException, IllegalAccessException, ClassNotFoundException, NoSuchMethodException, SecurityException, IllegalArgumentException, InvocationTargetException {
		ApplicationContext acx = new ClassPathXmlApplicationContext("beans.xml");
		UserService userService = (UserService) acx.getBean("userService");
		User u = new User();
		userService.Add(u);
	} 
8,结果输出:
method start!
a user save !
method end!







版权声明:本文为博主原创文章,未经博主允许不得转载。

[教程]spring AOP详解

来源: http://blog.csdn.net/a906998248/article/details/7514969 ※AOP依赖Java的代理机制(JDK代理,CGLib代理) [我比较懒,...
  • wangxsh42
  • wangxsh42
  • 2015年01月30日 19:08
  • 155

Spring实现AOP的多种方式

目录 一、基于XML配置的Spring AOP二、使用注解配置AOP三、AspectJ切点函数四、AspectJ通知注解五、零配置实现Spring IoC与AOP六、示例下载 AOP(Aspec...
  • lijinzhou2017
  • lijinzhou2017
  • 2017年03月02日 15:34
  • 172

Spring-AOP【总结】

原文地址:http://blog.psjay.com/posts/summary-of-spring-3-aop/ 概念 AOP(Aspect Oriented Programming),即...
  • Bazingaea
  • Bazingaea
  • 2016年10月30日 00:11
  • 180

注解方式实现spring-aop

IUserDao.java package cn.itcast.e_aop_anno; // 接口 public interface IUserDao { void save(); } User...
  • Tomsheng321
  • Tomsheng321
  • 2017年02月02日 16:19
  • 79

Spring-AOP切面编程总结

Spring-AOP切面编程基础总结,使用一个简单的例子通过注解和配置文件两种方式解释了:前置、后置、返回、异常四中通知类型在编码时的应用。...
  • MadridBai
  • MadridBai
  • 2017年03月20日 20:44
  • 253

Spring-AOP学习笔记

Spring AOP【面向切面编程 】将分散的功能块集中放到一个地方-切面声明式的定义在何时何地使用这些功能 ==切面(Aspect)==:要实现的交叉的非核心业务功能 连接点(Joinpoint):...
  • dartagnan_wang
  • dartagnan_wang
  • 2015年09月21日 00:03
  • 251

梳理spring-aop的利器:asm3.0

AOP 的利器:ASM 3.0 介绍 随着 AOP(Aspect Oriented Programming)的发展,代码动态生成已然成为 Java 世界中不可或缺的一环。本文将介绍一种小巧轻便的 J...
  • u014586894
  • u014586894
  • 2016年06月11日 15:13
  • 561

注解开发spring-aop 入门

spring-aop 入门
  • levelmini
  • levelmini
  • 2015年06月30日 00:18
  • 301

spring-aop详细用法

spring-aop详细用法
  • chen__yuan
  • chen__yuan
  • 2017年04月08日 10:39
  • 170

Spring-Aop定义及案例<二>

问题?SpringAop的定义及使用 Aop定义: aop:    1、切面         事务、日志、安全性框架、权限等都是切面    2、通知       切面中的方法就是通知  ...
  • Mr_li13
  • Mr_li13
  • 2015年12月06日 13:31
  • 500
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:spring-AOP
举报原因:
原因补充:

(最多只允许输入30个字)