我想知道在Java Play!Framework 2.2.x應用程序中使用非靜態控制器時是否有任何顯着的優點或劣勢。使用Java的播放框架中的靜態控制器和非靜態控制器之間的差異
我通常使用似乎是Play!的默認模式的clasic靜態控制器。
但是,無論何時我使用Guice,我顯然需要更改,以便我可以注入各種服務。
GET /api/something/someofthat controllers.MyController.myStaticAction
GET /api/something/someother @controllers.MyController.myNonStaticAction
public class MyController extends Controller {
public static Result myStaticAction(){
return ok("This is not a method.");
}
public Result myNonStaticAction(){
return ok("This is not a static method.");
}
}
從依賴注入的明顯的和有據可查的優勢
除了使用吉斯,它:對於那些想知道如何做到這一點(你在路徑文件中的函數「路徑」的前面加一個「@」)在我看來,純粹的非靜態控制器將有助於實現線程安全的代碼。但我必須說我不確定這一點。所以我的問題是:有人可以指出我推薦使用非靜態控制器的情況嗎?還有需要靜態控制器的情況?
它也對播放框架在控制器功能上做的「scala包裝」有什麼影響嗎?
非常感謝。