scala - Play 应用程序类的含义
问题描述
我正在使用 Play 开发一个项目,但我对Application
课程感到困惑。我在许多代码片段中看到它,例如:
class Application(silhouette: Silhouette[DefaultEnv]) extends Controller
(来源)
但是我不知道它是否是通用控制器的任意名称(用于代替FooController
, MyController
...),或者它是否具有特殊含义并且由框架以特殊方式处理。为了进一步混淆,我意识到还有Application
接口(source),具体实现是DefaultApplication
(source),文档说:
应用程序创建由框架引擎处理。
所以...拥有Application
控制器是什么意思?
解决方案
这只是一个任意的通用名称作为示例。假设您正在编写文档。作为示例控制器名称,您可以将其命名为Application
、ApplicationController
、MyApp
等。MyAppController
MainController
但是DefaultApplication
你在play文档上发现是有意义的。它是管理播放应用程序环境和状态等的play.Application
接口(在 scala、play.api.Application
trait 中)的默认实现。
- https://www.playframework.com/documentation/2.7.x/JavaApplication
- https://www.playframework.com/documentation/2.7.x/ScalaApplication
只要您将控制器放在controllers
命名空间下,您就可以为控制器命名任何您想要的名称,例如“应用程序”。
顺便说一句,官方播放模板中的默认控制器名称Application
如前所述。我想这就是为什么您会看到许多名为Application
.
推荐阅读
- javascript - Vue.js 与 axios 的异步 api 调用
- linux - windows函数“CreateWaitableTimer”和“SetWaitableTimer”如何在Linux上实现?在 Linux 上是否有任何等效的替代品?
- reactjs - 测试使用上下文的反应组件 - 更改被测组件的状态
- r - 链接到 Github 存储库时 readRDS 出错
- python - Avoid opening an new browser for every instance in Selenium Python
- c++ - 在错误的 DLL 中查找函数
- python - 如何使用两个相同的键和不同的值从 Python 中的三个不同列表创建字典?
- azure-cosmosdb - 在 Azure Cosmos DB Graph 查询中定义变量
- java - 有没有办法在泛型函数中将 List Object 转换为精确的 List Class?
- github - 如何在 GitHub 上更改 GitHub 包注册表描述?