在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中如何使用动态代理?的文章就介绍到这了,更多相关Spring动态代理内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    推荐阅读