Inheritance 在播放时路由到从基本控制器继承的操作
我正在使用Play1.2.4中的Java开发一个应用程序。我让控制器B扩展控制器A。这是否意味着控制器B从A继承操作?如果是这样,我如何路由到那些没有直接路由到控制器A的设备 例如:Inheritance 在播放时路由到从基本控制器继承的操作,inheritance,playframework,Inheritance,Playframework,我正在使用Play1.2.4中的Java开发一个应用程序。我让控制器B扩展控制器A。这是否意味着控制器B从A继承操作?如果是这样,我如何路由到那些没有直接路由到控制器A的设备 例如: public class ControllerA { private static void action{ //I want to run this } } public class ControllerB extends ControllerA { } 我能这样叫动作吗:
public class ControllerA {
private static void action{
//I want to run this
}
}
public class ControllerB extends ControllerA {
}
我能这样叫动作吗:
ControllerB.action
?如果我记得清楚的话。但是,更好的做法是使用@With注释,而不是扩展控制器
public class Application extends Controller {
@Before
static void preAction() {
Logger.info("Request: [%s]", request);
}
public static void login() {
render();
}
}
@With(Application.class)
public class Bookings extends Controller {
...
}
我不确定这在Play1中是否可能/容易做到,但在Play2.x中,您可以使用像GoogleGuice这样的DI框架。这将允许您在不使用静态方法的情况下创建单例控制器,因此继承将照常工作。