@Order 注解
@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.Configuration; 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),所以先打印出来