spring-AOP
来源:互联网 发布:中国出口武器 知乎 编辑:程序博客网 时间:2024/05/21 14:02
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,数据库实现类
@Componentpublic class UserDaoImpl implements UserDao{@Overridepublic void save(User u) {System.out.println("a user save !");}}4,业务service类
@Servicepublic class UserService {private UserDao userDao;public UserDao getUserDao() {return userDao;}@Resource //默认是按名称userDaopublic void setUserDao(UserDao userDao) {this.userDao = userDao;}public void Add(User u){this.userDao.save(u);}}5,代理处理类
@Aspectpublic 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,测试类
@Testpublic 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!
0 0
- AOP、Spring的AOP
- AOP--Spring AOP
- Spring AOP 嵌套AOP
- spring AOP
- Spring AOP
- Spring AOP
- spring aop
- Spring AOP
- spring AOP
- spring aop
- Spring aop
- Spring-AOP
- Spring AOP
- spring aop
- spring aop
- Spring AOP
- Spring AOP
- Spring Aop
- java基础学习总结:向上转型
- 七牛云存储之 Java 创建存储空间
- iOS UIWebView加载html代码
- android开发怎么少的了后端(下)
- MYSQL重置root密码(Access denied for user 'root'@'localhost' (using password: YES))
- spring-AOP
- 7天学会spring cloud系列
- 多层嵌套的使用要点及优化
- 使用java模拟http请求时关于特殊字符的处理+
- svm常用核函数
- 彻底解决Android 拍照 内存溢出 Out of Memory的问题
- Oracle大数据常见优化查询
- Universal-Image-Loader源码阅读(29)-BitmapDisplayer
- poj1159