在Spring中如何使用动态代理?
Spring动态代理
定义自定义切面 -diyNodePoint
package com.lxc.diy; import org.aspectj.lang.annotation.After; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.annotation.Before; /** * @Aspect 标注这个了是一个切面 * @Before("切入点") === * @After("切入点") === */@Aspectpublic class diyNotePoint {@Before("execution(* com.lxc.service.UserServiceImp.*(..))")public void before() {System.out.println("前置切面"); }@After("execution(* com.lxc.service.UserServiceImp.*(..))")public void after() {System.out.println("后置切面"); }}
定义接口 - UserService
package com.lxc.service; public interface UserService {public void query(); public void delete(); public void edit(); public void add(); }
【在Spring中如何使用动态代理?】重写接口类 - UserServiceImp
package com.lxc.service; public class UserServiceImp implements UserService{@Overridepublic void query() {System.out.println("query"); }@Overridepublic void delete() {System.out.println("delete"); }@Overridepublic void edit() {System.out.println("edit"); }@Overridepublic void add() {System.out.println("add"); }}
beans.xml中配置:
测试:
import com.lxc.service.UserService; import org.springframework.context.ApplicationContext; import org.springframework.context.support.ClassPathXmlApplicationContext; public class Test {public static void main(String[] args) {ApplicationContext ctx = new ClassPathXmlApplicationContext("beans.xml"); UserService userService = ctx.getBean("imp", UserService.class); userService.add(); }}
输出如下:
文章图片
到此这篇关于在Spring中如何使用动态代理?的文章就介绍到这了,更多相关Spring动态代理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
推荐阅读
- 热闹中的孤独
- 你到家了吗
- Shell-Bash变量与运算符
- JS中的各种宽高度定义及其应用
- 闲杂“细雨”
- 杜月笙的口才
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 深入理解Go之generate
- 赢在人生六项精进二阶Day3复盘
- 祖母走了