首页 > 其他分享 >Spring AOP入门

Spring AOP入门

时间:2023-02-19 11:11:14浏览次数:34  
标签:userDao 入门 spring Spring void aop class AOP public

Spring AOP入门

1.导入坐标

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>5.2.10.RELEASE</version>
<!--            <scope>compile</scope>-->
        </dependency>
        <dependency>
            <groupId>org.aspectj</groupId>
            <artifactId>aspectjweaver</artifactId>
            <version>1.9.4</version>
        </dependency>

2.设置spring配置类

@Configuration
@ComponentScan("com_spring_aop")
//使用注解开发aop
@EnableAspectJAutoProxy
public class springConfig {
}

3.userDao接口和userDaoImp接口实现类

public interface userDao {
    abstract public void add();
}
@Repository
public class userDaoImp implements userDao{

    public void add(){
        System.out.println("add......");
    }
}

4.编写aop通知类

设置空的方法作为切入点
//声明作为注解的spring控件
@Component

//声明作为aop
@Aspect
public class aop_Class_01 {
//    切入点
    @Pointcut("execution(void com_spring_aop.dao.userDao.add())")
    private void fn(){}

//    前置通知
    @Before("fn()")
    public void method(){
        System.out.println(System.currentTimeMillis());
    }

//    环绕通知
    @Around("fn()")
    public void around(ProceedingJoinPoint joinPoint)throws Throwable{
        System.out.println("执行前......");

//        固定写法,表示原方法执行
        joinPoint.proceed();

        System.out.println("执行后......");
    }
}

5.测试类

ApplicationContext context = new AnnotationConfigApplicationContext(springConfig.class);

userDao userDao = context.getBean(userDao.class);
userDao.add();

标签:userDao,入门,spring,Spring,void,aop,class,AOP,public
From: https://www.cnblogs.com/cunshan-mf/p/17134375.html

相关文章

  • AOP 概念
    连接点(jointpoint):一个连接点是一个程序执行过程的特定点。典型的连接点包括对一个方法的调用、方法执行的过程本身、类的初始化、对象的实例化等。连接点是AOP的核......
  • Spring.AOP下的 hello world !
    此方法只做演示,项目中不使用项目中用annotation此代码输出"World"packagecom.test532;publicclassMessageWriter{publicvoidwriteMess......
  • Spring 中创建通知
    AspectJ来做。AspectJ是什么东西?没用过。。。前置通知  接口:org.springframework.aop.MethodBeforeAdvice说明:使用前置通知可以在连接点执行前进行自定义的操作......
  • 自定义标签中 如何使用 Spring 的 ioc
    自定义标签,继承了BodyTagSupport 在标签类上加了@Component,还是无法使用IOC,不知道为啥。 @AutowiredprivateForumPostsMngforumPostsMng; 调用forumPosts时,抛空异......
  • Spring AOP annotation 简单实例
    最后输出(可以看出各种通知的时间): 我是前置通知。我是环绕--进。aa已成功保存我是后置通知。我是最终通知。我是环绕--出。 app.xml:<?xmlversion="1.0"encoding......
  • ThinkPHP行为和钩子实战,AOP编程
    Demo<?phpnamespaceapp\index\controller;use\think\facade\Hook;classIndex{publicfunctionindex(){$params=['username'=>'liaosp'];H......
  • yii基础入门||url 美化|| migrate 修改数据库字段
    ​​邮箱操作​​​​yii2扩展包​​官方提供两个版本,一个是基础版,一个是高级版基础:phpcomposer.pharcreate-projectyiisoft/yii2-app-basicbasic高级:phpcomposer.pha......
  • YII中行为Behavior运用 AOP介绍,以及例子
    之前有写一篇ThinkphpAOP编程的例子​​查看​​AOP主要功能日志记录,性能统计,安全控制,事务处理,异常处理等等wn及扩展AOP主要意图将日志记录,性能统计,安全控制,事务处理,异常......
  • serializers序列化函数简单入门
    1.创建Django项目和应用程序首先,我们需要创建一个Django项目和一个Django应用程序。如果你已经有了Django项目和应用程序,请跳过这一步。$django-adminstartprojectm......
  • PLC入门笔记12
    1.边沿应用(1)边沿开关 (2)上升沿触发下降沿触发(3)MOVPK4M0D0传送比较movp(=mov)脉冲型指令前面条件成立只能执行一次,仅执行一次扫描周期不带PMOV每个扫描周期都......