温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Spring中怎么使用动态代理

发布时间:2021-06-25 17:38:20 来源:亿速云 阅读:262 作者:Leah 栏目:开发技术

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("切入点") === <aop:before method="beforeLog" pointcut-ref="point" />  * @After("切入点") === <aop:after method="afterLog" pointcut-ref="point" />  */ @Aspect public 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(); }

重写接口类 - UserServiceImp

package com.lxc.service; public class UserServiceImp implements UserService{     @Override     public void query() {         System.out.println("query");     }     @Override     public void delete() {         System.out.println("delete");     }     @Override     public void edit() {         System.out.println("edit");     }     @Override     public void add() {         System.out.println("add");     } }

beans.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:aop="http://www.springframework.org/schema/aop"        xmlns:context="http://www.springframework.org/schema/context"        xsi:schemaLocation="http://www.springframework.org/schema/beans         https://www.springframework.org/schema/beans/spring-beans.xsd         http://www.springframework.org/schema/context         https://www.springframework.org/schema/context/spring-context.xsd         http://www.springframework.org/schema/aop         https://www.springframework.org/schema/aop/spring-aop.xsd">          <!--定义bean-->     <bean id="imp" class="com.lxc.service.UserServiceImp"/>     <bean id="diyNotePoint" class="com.lxc.diy.diyNotePoint" />     <!--添加:注解支持-->     <aop:aspectj-autoproxy />   </beans>

测试:

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中怎么使用动态代理问题的解答就分享到这里了,希望以上内容可以对大家有一定的帮助,如果你还有很多疑惑没有解开,可以关注亿速云行业资讯频道了解更多相关知识。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI