Play Scala Isolated Slick 示例项目教程
1. 项目的目录结构及介绍
play-scala-isolated-slick-example/
├── app/
│ ├── controllers/
│ └── modules/
├── conf/
│ ├── application.conf
│ └── routes
├── project/
│ ├── build.properties
│ └── plugins.sbt
├── public/
│ ├── images/
│ ├── javascripts/
│ └── stylesheets/
├── scripts/
├── test/
│ └── controllers/
├── .gitignore
├── .mergify.yml
├── .travis.yml
├── LICENSE
├── NOTICE
├── README.md
└── build.sbt
目录结构介绍
- app/: 包含应用程序的主要代码,包括控制器和模块。
- controllers/: 存放控制器类。
- modules/: 存放模块类。
- conf/: 包含配置文件。
- application.conf: 主配置文件。
- routes: 路由配置文件。
- project/: 包含构建相关的文件。
- build.properties: 构建工具版本配置。
- plugins.sbt: 插件配置。
- public/: 静态资源文件,包括图片、JavaScript 和样式表。
- scripts/: 脚本文件。
- test/: 测试代码。
- controllers/: 控制器的测试类。
- .gitignore: Git 忽略文件配置。
- .mergify.yml: Mergify 配置文件。
- .travis.yml: Travis CI 配置文件。
- LICENSE: 许可证文件。
- NOTICE: 通知文件。
- README.md: 项目说明文档。
- build.sbt: 项目构建配置文件。
2. 项目的启动文件介绍
项目的启动文件主要是 build.sbt
和 application.conf
。
build.sbt
build.sbt
是 SBT(Simple Build Tool)的构建配置文件,定义了项目的依赖、插件和其他构建相关的设置。
name := """play-scala-isolated-slick-example"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayScala)
scalaVersion := "2.13.10"
libraryDependencies ++= Seq(
guice,
"com.typesafe.play" %% "play-slick" % "5.0.0",
"com.typesafe.play" %% "play-slick-evolutions" % "5.0.0",
"com.h2database" % "h2" % "1.4.200"
)
application.conf
application.conf
是 Play 框架的主配置文件,包含了应用程序的各种配置,如数据库配置、日志配置等。
# 数据库配置
slick.dbs.default.profile = "slick.jdbc.H2Profile$"
slick.dbs.default.db.driver = "org.h2.Driver"
slick.dbs.default.db.url = "jdbc:h2:mem:play"
slick.dbs.default.db.user = "sa"
slick.dbs.default.db.password = ""
# 其他配置...
3. 项目的配置文件介绍
routes
routes
文件定义了应用程序的路由规则,即 URL 和控制器方法之间的映射关系。
# Routes
# This file defines all application routes (Higher priority routes first)
# ~~~~
# Home page
GET / controllers.HomeController.index
# Map static resources from the /public folder to the /assets URL path
GET /assets/*file controllers.Assets.versioned(path="/public", file: Asset)
plugins.sbt
plugins.sbt
文件定义了项目使用的 SBT 插件。
// The Play plugin
addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.8.18")
// Web plugins
addSbtPlugin("com.typesafe.sbt" % "sbt-coffe