springboot版本:1.3.5
示例代码如下:
@Configuration @Order(3) public class Conf1 { @Bean public Runnable createRunnable1() { System.out.println("111"); return () -> {}; } }
@Configuration @Order(2) public class Conf2 { @Bean public Runnable createRunnable2() { System.out.println("222"); return () -> {}; } }
运行方式:
import org.springframework.boot.SpringApplication; @SpringBootApplication public class App6 { public static void main(String[] args) { SpringApplication.run(App6.class, args); } }按照Order的效果,数字越小,越先初始化
但是,实际上先输出111,再输出了222
两个Order的数字怎么调整,都无效
请问,哪里有问题
引用来自“开源中国首席门卫小哥”的评论
试了一下,先打印222,后打印111引用来自“开源中国首席门卫小哥”的评论
@EnableAutoConfiguration
public class Test {
public static void main(String[] args) throws Exception {
Object[] object = new Object
object
object
object
SpringApplication.run(object, args);
}
}
引用来自“开源中国首席门卫小哥”的评论
你这种可以的。但是,
SpringApplication.run(App6.class, args);
这样为啥不行。
比较我有N多个@Configuration的类,不可能都这样放到object[]里面去吧
我把代码分享给你哈
不利用order,order好像存在问题,全是英文我看的有点累,不是没看得太明白,就不在这给你说是啥问题了
启动的类,还是你的那个,如果想两个配置类那个先启动就放上面