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

发布于:2024-04-05 ⋅ 阅读:(135) ⋅ 点赞:(0)

目录

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.执行结果