Spring的注入小技巧(接口前置处理,后置处理等优化写法)

本文介绍了如何在Java中使用公共接口实现前置和后置处理,通过创建不同服务类来区分不同角色的执行顺序,并提供了测试实例和执行结果,提升代码可读性和灵活性。
摘要由CSDN通过智能技术生成

目录

1.定一个公共(前置、后置)接口

2.添加接口的实现类(就是不同的处理)

3.测试小栗子

4.执行结果


   

接口的前置处理或是后置处理,这样写代码更优雅,可读性高,当然更有水平更装逼。前置处理或是后置处理,处理的事情肯定不是只有一件,一般都是多件。

1.定一个公共(前置、后置)接口

public interface Dao {
    void lanch();
}

2.添加接口的实现类(就是不同的处理)

@Service
@Order(1)
public class WorkerDAO implements Dao {
    @Override
    public void lanch() {
        System.out.println("======我是工人,我是第一个执行的");
    }
}
@Service
@Order(2)
public class TeacherDAO implements Dao {
    @Override
    public void lanch() {
        System.out.println("======我是老师,我是第二个执行的");

    }
}
@Service
@Order(3)
public class StudentDAO implements Dao {
    @Override
    public void lanch() {
        System.out.println("======我是学生,我是第三个执行的");
    }
}

3.测试小栗子

   public void t11(){
        System.out.println("---------------------List---------------------------");
        for (Dao dao : daoList) {
            System.out.println("========"+dao);
            dao.lanch();
        }
        System.out.println("-------------------Map-----------------------------");
        for (Map.Entry<String, Dao> stringDaoEntry : daoMap.entrySet()) {
            System.out.println("======key:"+stringDaoEntry.getKey()+"=========value:"+stringDaoEntry.getValue());
        }
        System.out.println("--------------------Map.get()----------------------------");
        daoMap.get("studentDAO").lanch();
    }

4.执行结果

  • 10
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Spring Boot中,可以使用AOP(面向切面编程)来实现前置处理后置处理前置处理是在方法执行之前执行的通知,而后置处理是在方法执行之后执行的通知。 在给定的代码示例中,我们可以看到使用了Spring Boot的AOP功能。在AspectController类中,使用了@TestAnnotation注解来标记testAspect方法。这个注解是一个自定义的注解,它被用作切面的标识。 在AOP中,可以使用不同的通知类型来实现前置处理后置处理。常见的通知类型包括@Before和@After。@Before通知在方法执行之前执行,而@After通知在方法执行之后执行。 在这个例子中,我们可以看到在testAspect方法上使用了@GetMapping注解,这表示这个方法是一个处理GET请求的方法。同时,它也被@TestAnnotation注解标记,表示这个方法需要进行AOP处理。 通过使用AOP,我们可以在方法执行之前执行一些额外的逻辑,比如参数校验、日志记录等。而在方法执行之后,我们可以进行一些后续处理,比如返回结果的处理、异常处理等。 总结起来,Spring Boot中的前置处理后置处理可以通过AOP来实现。通过在方法上使用相应的注解,我们可以在方法执行之前和之后执行一些额外的逻辑。这样可以提高程序的可维护性和可重用性,同时提高开发效率。\[1\]\[2\]\[3\] #### 引用[.reference_title] - *1* *2* *3* [Spring Boot AOP面向切面编程使用(定义切入点、前置通知、后置通知、返回通知、异常通知、环绕通知)](https://blog.csdn.net/qq_38974638/article/details/118240454)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

only-qi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值