Grails技术精解与开发实战
上QQ阅读APP看书,第一时间看更新

1.3.2 Grails框架应用目录结构

项目创建完成后,在项目目录下可以在终端通过tree -d ~/grailsProjects/intro命令来查看项目目录结构,代码1.5对每个目录的结构进行了说明,读者可以对照查看。

# 查看项目目录结构
$ tree -d ~/ grailsProjects/intro
/home/User/grailsProjects/intro
    gradle                # Grails3使用Gradle进行构建,可通过Gradle导入
        wrapper
    grails -app
        assets            # 静态文件,如CSS、JavaScript、Images等
            images
            javascripts
            stylesheets
        conf              # 项目运行需要的配置文件,使用YAML文件或Groovy
            文件进行配置
            spring
        controllers       # 相当于MVC架构中的Controller,用来发起和处理
                          HTTP请求,文件以“Controller”结尾,如“Example
                          Controller.groovy”
            intro
        domain            # 模型,通过GORM与数据库对应
        i18n              # 国际化相关文件
        init              # Bootstrap和Main 引导程序,主应用程序文件,可以使用默认设置运行程序
            intro
        services          # 服务层,实现应用的核心业务逻辑,提高重用性,更好地实现问题分离,文件以“Service”结尾,如“ExampleService.groovy”
        taglib            # 显示效果定制,作为GSP文件中可引用的类库
        utils             # 特定的应用代码
        views             # GSP文件,用于显示,相当于MVC中的View
           layouts
    src
        integration -test # 集成测试
           groovy
           resources
        main              # 其他测试文件
           groovy
           webapp
    test                  # 单元测试
           groovy

代码1.5 项目目录结构

Grails框架遵循“约定优于配置”的软件设计原则,项目中的每部分都是依据约定的形式存在的,省去了很多显式配置的过程,减少了开发者的配置工作,大幅提升了开发效率。基本的约定诸如grails-app/domain/目录下为领域类模型;grails-app/controllers/目录下以Controller结尾的文件为模型对应的控制器;grails-app/views/目录下为每个模型对应的视图,子目录名称与模型名称相同。在这样的设计模式下,通过文件所在的位置以及文件的名称就可以知道文件的用途。因此我们也有必要熟悉Grails框架的目录结构。

项目中其他主要文件如下。

build.gradle: 项目的配置文件,包括使用到的所有的插件、依赖以及构建相关的内容。

gradle.properties: 定义在build.gradle中可以使用的变量。

grailsw: Grails框架打包工具,可以在未安装Grails环境的情况下使用。

gradlew: Gradle打包工具,可以在未安装Gradle的情况下使用。