我想在我所有 Controller 的公共(public)类中重构一个用 @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
在父级中,它不起作用。
关于java - 父类(super class)上的 PostConstruct 注释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32007471/