超类上的PostContruct注释

时间:2015-08-14 10:04:37

标签: java spring postconstruct

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

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

public class AuthController extends Controller {}

public class CartController extends Controller {}

但是春天似乎并没有调用我的继承方法。在这种情况下使用的模式是什么?

1 个答案:

答案 0 :(得分:2)

这适用于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位于父级中,则工作。