@Order 一个使用场景 与基于spring应用Ordered接口

@order注解是spring-core包下的一个注解,@Order的作用是定义Spring IOC容器中Bean的执行顺序的优先级(这里的顺序也可以理解为存放到容器中的先后顺序)。

遇到过使用@Order的场景:
某个利用Redis incr自增编码,服务迁移,Redis数据没有维护好,导致自增的编码丢失,下一次自增又会从头开始,这时可以使用@Order注解在服务启动时查询数据库,并把Redis的值赋上,完成初始化。
@Component
@Order(1)
public class xxxConfiguration implements ApplicationRunner {
    @Override
    public void run(ApplicationArguments args) {
        init();
    }
}

 

org.springframework.core.Ordered 是 Spring 框架中的一个接口,用来表示对象的排序顺序。当需要对多个实现了 Ordered 接口的对象进行排序时,可以使用该接口提供的 getOrder() 方法来获取排序顺序的优先级。

当我们的应用有多个过滤器Filter的时候,可以实现Ordered接口是决定各个过滤器的执行优先级。




 

posted @ 2023-08-03 17:24  《END》  阅读(36)  评论(0编辑  收藏  举报