超类上的 PostConstruct 注释

PostContruct annotation on superclass

我想在我所有控制器的公共 class 中重构一个用 @PostContruct 注释的方法。

public abstract class Controller {
    @PostConstruct
    protected void PostContruct() { ..}
}

public class AuthController extends Controller {}

public class CartController extends Controller {}

但是spring好像没有调用我的继承方法。在这种情况下使用什么模式?

这适用于 Spring 4.2.0 和 Spring Boot 1.2.5

public abstract class AbstractController {
    @PostConstruct
    protected void postConstruct() {
        System.out.println("post construct");
    }
}

@Controller
public class ConcreteController extends AbstractController {

}

如果将方法标记为抽象方法,将 @PostConstruct 保留在父级中并在子级中实现它,它也有效。

如果 @Controller 在父级中,它 不会 工作。