@Order注解主要用来控制配置类的加载顺序
示例代码:
package com.runlion.tms.admin.constant;public class AService {}package com.runlion.tms.admin.constant;public class BService {}
package com.runlion.tms.admin.constant;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.core.annotation.Order;@Configuration@Order(2)public class AConfig { @Bean public AService AService() { System.out.println("AService 加载了"); return new AService(); }}package com.runlion.tms.admin.constant;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configurati���ȴ���,һ���dz�on;import org.springframework.core.annotation.Order;@Configuration@Order(1)public class BConfig { @Bean public BService bService() { System.out.println("BService 加载了"); return new BService(); }}
测试类:
package com.runlion.tms.admin.constant;import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class OrderMain { public static void main(String[] args) { AnnotationConfigApplicationContext context = new AnnotationConfigApplicationContext("com.runlion.tms.admin.constant"); }}
输出结果:
BService 加载了
AService 加载了
因为BService 的@Order(1),所以先打印出来