我想在我所有控制器的公共类中重构一个用@PostContruct注释的方法。
public abstract class Controller {
@PostConstruct
protected void PostContruct() { ..}
}
public class AuthController extends Controller {}
public class CartController extends Controller {}
但是春天似乎并没有调用我的继承方法。在这种情况下使用的模式是什么?
答案 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
位于父级中,则不工作。