@Order 注解
@Order注解主要用来控制配置类的加载顺序 示例代码:
代码语言:javascript复制package com.runlion.tms.admin.constant;
public class AService {
}
package com.runlion.tms.admin.constant;
public class BService {
}
代码语言:javascript复制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();
}
}
测试类:
代码语言:javascript复制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),所以先打印出来