@Autowired在方法上,该方法在运行时执行是随机的吗



我进行了初始化,发现方法执行是随机的。但我不知道为什么会发生这种事?

代码如下所示,输出顺序有时与不同

@Autowired
public void test() throws Exception {
System.out.println("test():1");
}
@Autowired
public void test2( MyUserDetialsService userService) throws Exception {
System.out.println("test2( MyUserDetialsService userService):5");
}
@Autowired
public void a( MyUserDetialsService userService) throws Exception {
System.out.println("a( MyUserDetialsService userService):2");
}
@Autowired
public void a() throws Exception {
System.out.println("a():3");
}

执行顺序按字母顺序排列。您可以通过将函数的名称从test更改为ztest来查看它,您将看到输出将发生更改。

此外,我测试了更多,发现有时它不是按字母顺序排列的。这也取决于参数数量。但没有参数,它是按字母顺序排列的。你可以在这里看到我的例子https://github.com/ozkanpakdil/spring-examples/tree/master/autowired-which-function-works-first

最新更新