play2.x第一课

1、前置条件

  开发工具:IDEA的开发,sbt、scala

需要注重的是sbt的版本问题:1.2.8(常常的系统默认的版本0.13.15版本影响的下载play-sbt-plugin) 、scala 2.12、play 2.7.x

第一次的sbt准备的插件大概40多分钟,主要是因为play的sbt插件和build.sbt内部的相关play的模块即(

libraryDependencies ++= Seq( jdbc , ehcache , ws , specs2 % Test , guice )

)相关的jdbc模块等等。这是IDEA的play2.x的初始模板(存在一些差异,也是可能无法正确的弄好的、注意sbt版本。。(去c盘的user/用户/.sbt内部看具体信息)))。

 

 

 

 2、明确play2.x的MVC的结构

  • Play项目结构介绍
在第一次编译之后,Play项目的结构如下:

app                      → 项目源码目录
 └ controllers           → 控制层
 └ models                → 业务层
 └ views                 → 模板层
build.sbt                → 项目构建脚本
conf                     → 配置文件 (on classpath)
 └ application.conf      → 主配置文件
 └ routes                → 路由配置
public                   → 静态文件目录
 └ stylesheets           → CSS 文件
 └ javascripts           → Javascript 文件
 └ images                → Image 文件
project                  → sbt 配置文件
 └ build.properties      → 配置sbt版本
 └ plugins.sbt           → 配置sbt插件
lib                      → 第三方jar包依赖
logs                     → 日志目录
 └ application.log       → 默认日志文件
target                   → 构建时动态生成目录
 └ resolution-cache      → 依赖信息
 └ scala-2.11
    └ api                → 生成的API文档
    └ classes            → 编译后的class文件
    └ routes             → 从routes文件生成的源码
    └ twirl              → 从模板文件生成的源码
 └ universal             → 项目打包目录
test                     → 测试目录

 

在日常开发中我们通常跟以下几个目录和文件打交道,下面分别介绍。

(1)app目录

app是项目源码的根目录,包含了所有的Java和Scala源码文件。该目录下默认有三个package,分别对应MVC三个层:

  • app/controllers

  • app/models

  • app/views

当然,你也可以在app目录下创建自定义package,例如app/utils。默认的三个package名称建议不要修改。

(2)public目录

该目录用于存放静态文件,默认有三个子目录分别用于存放css,jsimages文件:

  • stylesheets

  • javascripts

  • images

这三个文件夹名称可以自定义。在通过浏览器访问静态文件时,public目录映射到URL的地址是/assets,这个映射关系可以在conf/routes文件中修改。例如images文件夹下favicon.ico文件对应的URL地址是:/assets/favicon.ico

(3)conf目录

该目录用于存放配置文件,默认包含项目配置文件application.conf和路由配置文件routes。其它的配置文件如日志配置文件logback.xml,多语言配置文件messages.*均可放在该目录下。Play项目在启动时会将conf目录加入classpath

(4)build.sbt文件

该文件是SBT项目的构建文件,在这里可以配置项目名称、项目版本号、Scala版本、Play模块以及第三方依赖等等。

(5)lib目录

如果有些依赖无法在build.sbt文件中声明,例如公司内部维护的jar包,可以直接将这个jar包放进lib目录,SBT会自动将其添加为项目依赖。

(6)project目录

该目录通常不会用到,除非一下两种情况:

  • 修改build.properties升级SBT版本

  • 修改plugins.sbt升级Play版本

 

posted @ 2020-07-01 11:15  ~~。  阅读(358)  评论(0编辑  收藏  举报