【发布时间】:2016-08-20 02:43:31
【问题描述】:
我对以下代码的结果有点困惑。
父控制器:
@Controller
public abstract class ParentController{
@PostConstruct
public void init(){
System.out.println("Parent-----PostConstruct");
}
public ParentController(){
System.out.println("Parent-----constructor");
}
}
儿童控制器:
@Controller
public class ChildController extends ParentController {
@PostConstruct
public void init() {
System.out.println("Child-----PostConstruct");
}
public ChildController(){
System.out.println("Child-----constructor");
}
}
结果如下:
父级-----构造函数
子-----构造函数
孩子-----PostConstruct
父级-----PostConstruct
我不知道为什么父母的 postConstruct 在孩子的 postConstruct 之后。
【问题讨论】:
-
这是因为您覆盖了
@PostConstruct方法。如果你没有覆盖超类@PostConstruct将首先被调用。 -
@mengying.ye 看看这个。 stackoverflow.com/questions/13167058/…
-
非常感谢,很有帮助。
标签: java spring annotations