play 细说框架目录结构

      play的目录结构制作的相当精简,以下是从play官网截下的图片:

      

app                       Application sources
  assets                 Compiled asset sources
     stylesheets         Typically LESS CSS sources
     javascripts         Typically CoffeeScript sources
  controllers            Application controllers
  models                 Application business layer
  views                  Templates
build.sbt                 Application build script
conf                      Configurations files and other non-compiled resources (on classpath)
  application.conf       Main configuration file
  routes                 Routes definition
dist                      Arbitrary files to be included in your projects distribution
public                    Public assets
  stylesheets            CSS files
  javascripts            Javascript files
  images                 Image files
project                   sbt configuration files
  build.properties       Marker for sbt project
  plugins.sbt            sbt plugins including the declaration for Play itself
lib                       Unmanaged libraries dependencies
logs                      Logs folder
  application.log        Default log file
target                    Generated stuff
  resolution-cache       Info about dependencies
  scala-2.10
     api                 Generated API docs
     classes             Compiled class files
     routes              Sources generated from routes
     twirl               Sources generated from templates
  universal              Application packaging
  web                    Compiled web assets
test                      source folder for unit or functional tests

 

  app目录:

   app目录是代码目录,包含了所有的Java或者Scala的源码,一般的“hello-world”sample程序都含有controllers、models、和views三个目录,分别对应MVC三层结构中的:C、M和V;我想这大家都和清楚,大家还可以根据自己的项目需要创建其他的目录,例如utils、dao等等。例如以下:

play 细说框架目录结构_第1张图片

如果有需要,你还可以建一个名为“assets”的目录,里面可以放LESS或者CoffeeScript源文件。

注意:这些controllers、models和views等目录可以随着你项目的需要而改变,例如:你可以写成com.yourcompany.controllers、com.yourcompnay.model和com.yourcompany.views而不必非得写成controllers、models和views。

conf目录:

在这个目录里,放置的都是这个应用的一些配置文件信息,有两个主要的文件:

一个是application.conf:意思很明显,就是整个应用的配置信息,里面会有一些配置的参数。包括数据库链接中数据源的信息填写,日志打印的级别等信息等等,还可以自定义一些参数。

play 细说框架目录结构_第2张图片

注意:在conf中,play默认定义的有:数据库信息、应用信息(名字、 Secret key、语言等)、日志;这三块儿的信息,在conf中直接改后,效果会在应用程序中直接出现。

假如你想一用conf中自定义的配置参数:例如上图中的阿里云相关的信息,你需要在application.conf中定义之后,在程序中使用

Play.configuration.getString("oss.access_id").getOrElse("diSnug5q4zb9y2mq")

 

来调用。实际上某人的那三块信息也是这么来调用的。

假如你在application.conf中不想定义过多的自定义信息,你也可以写一个自定义的conf文件,然后在application.conf中引用(include “fileName.conf”)如下:

play 细说框架目录结构_第3张图片

 

routes:路由。非常重要的部分!使用方法非常简单,在这里定义你需要的rest接口,然后接口后面对应的处理函数。如下图:

 

play 细说框架目录结构_第4张图片

public 的目录:

这里放置的都是前端页面相关的信息,例如js、css、json文件、图片等等。

 

这些目录文件的名字是可以改的,但是引用的时候需要注意目录名字。包括public的名字也是可以改的。前端页面中需要其中的静态文件的话,需要再routes中添加:

然后在前端需要静态文件的地方这么引用:

这里就是用的public目录下images目录中的静态文件。

lib目录:

如果之前你是做J2EE项目的,这个目录你一定清楚,这就是放置其他依赖包的地方。(当然如果Maven有依赖链接,尽量用Maven的依赖链接)

build.sbt file:

这个文件是整个项目添加依赖包的地方,所有的依赖都写在这里。如果你是J2EE开发者的话,你一定知道Maven的pom.xml文件,在这里,build.sbt文件就相当于pom.xml的文件。

play 细说框架目录结构_第5张图片

project目录:

这个目录包含了sbt构建之后的东西:

1、pulgins.sbt:插件sbt

play 细说框架目录结构_第6张图片

2、build.properties:包含了sbt的版本。

play 细说框架目录结构_第7张图片

target目录:

target目录包含了应用编译之后的东西,就是编译后的可执行文件。

 

更多精彩内容 请关注我的微信公众账号 互联网技术窝

你可能感兴趣的:(工作中遇到的技术琐事)