博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
马士兵Spring-AOP-XML配置(2)
阅读量:4616 次
发布时间:2019-06-09

本文共 2330 字,大约阅读时间需要 7 分钟。

一、

UserDAO.java:

package com.cy.dao;import com.cy.model.User;public interface UserDAO {    public void save(User user);}
View Code

实现UserDAOImpl.java:

package com.cy.dao.impl;import org.springframework.stereotype.Component;import com.cy.dao.UserDAO;import com.cy.model.User;@Componentpublic class UserDAOImpl implements UserDAO {    public void save(User user) {        //Hibernate        //JDBC        //XML        //NetWork        System.out.println("user saved!");    }}
View Code

切面类LogInterceptor.java:

package com.cy.aop;public class LogInterceptor {        public void before() {        System.out.println("method before");    }    }
View Code

UserService.java:

package com.cy.service;import javax.annotation.Resource;import org.springframework.stereotype.Component;import com.cy.dao.UserDAO;import com.cy.model.User;@Component("userService")public class UserService {        @Resource    private UserDAO userDAO;          public void init() {        System.out.println("init");    }        public void add(User user) {        userDAO.save(user);    }            public UserDAO getUserDAO() {        return userDAO;    }        public void setUserDAO( UserDAO userDAO) {        this.userDAO = userDAO;    }        public void destroy() {        System.out.println("destroy");    }}
View Code

配置文件beans.xml:

测试代码:

UserServiceTest.java:

package com.cy.service;import org.junit.Test;import org.springframework.context.support.ClassPathXmlApplicationContext;import com.cy.model.User;public class UserServiceTest {        @Test    public void testAdd() throws Exception {        ClassPathXmlApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml");        UserService service = (UserService)ctx.getBean("userService");        System.out.println(service.getClass());        service.add(new User());        ctx.destroy();    }}
View Code

console:

 

二、第2个例子:

pointcut可以直接定义在aop:before/aop:after等这些advice里面:

beans.xml:

console同样的运行效果;

 

三、aop:advisor这个放在声明式事务管理中写;

 

总结:

 

转载于:https://www.cnblogs.com/tenWood/p/6864741.html

你可能感兴趣的文章
Android -- Fragment
查看>>
前端性能优化和规范
查看>>
python 之进程篇
查看>>
框架编程之路一
查看>>
Verilog学习----运算符、结构说明语句
查看>>
python 中的socket
查看>>
ASP.NET + VB.NET + SQL小网站程序
查看>>
Windows Media Player 键盘快捷键
查看>>
C++代码统计工具
查看>>
需求分析报告
查看>>
第四次作业
查看>>
多线程2:java.util.concurrent.atomic.*
查看>>
Linux下使用pv监控进度
查看>>
MySQL(MariaDB)默认密码和修改方法
查看>>
用jQuery File Upload实现简单的文件上传
查看>>
Luogu P4901 排队 fib数列+树状数组+倍增
查看>>
PHP 锁机制
查看>>
每天CookBook之Python-036
查看>>
Django 之 cookie & session
查看>>
反转字符串
查看>>