1. 用NetBeans 作为开发工具,安装了Groovy 之后就能够开发Grails 程序,新建一个Grails 程序“addrBook ”,如图
2. 配置
配置文件不再是XML ,因为在Groovy 看来,groovy 文件不一定就是要编译的文件,打开几个来看发现其形式结构跟json 格式类似。
就目前所知,BootStrap.groovy 是启动时要运行的一些脚本。(命名因为遵从“约定优于配置”,所以看不到关于配置启动顺序的文件)。
BuildConfig.groovy 是配置生成项目的信息,在里面发现了类似Maven 的术语“依赖(dependencies )”。
Config 是全局的配置,包括文件编码,文件的存取规则,发布地址和访问地址等等。
DataSource.groovy 是配置数据源的,跟spring 的DataSource 类似,有关于数据库的信息和缓存的配置就在这里。
UrlMappings.groovy 是URL 和MVC 的映射规则描述文件,因为在GSP 文件中配置一个链接是很灵活的采用g:link ,而controller 需要将页面a 标签的具体访问地址按照规则映射到对应的控制器上面,所以有定义这个规则的必要。
3. 控制器、领域模型和消息
很明显可以看出Grails 风格是三层架构:领域模型- 服务- 控制器
消息包:是国际化(I18N )的配置,其中最后一个反黑的就是中文。
域类:ORM 的模型类,在Grails 中占很大一部分,因为弱化了数据库的作用,在数据存储方面完全由领域模型来定义,这让程序员能更好的发挥OO 思想。
服务:其实并不作为Grails 的中间层,如果按照Grails 默认架构方法,用命令行grails generate-all XXX 的方法生成一套流程的话,可以发现是没有服务层的,有控制器直接控制对域模型的操作。
控制器:根据Grails 的方法已经能生成大量的可用方法,当然还得根据自己的实际需要对该类进行修改。
4. 其他
标记库:各种taglib
实用程序类:可以放各种工具,比方说自动测试,数据生成,jetty 服务器启动等等工具类
视图和布局:当用generate 的时候自动生成的页面文件就在这个目录下
库:引用的除了Grails 之外的库,比如数据库驱动等
脚本:目前还不知道这个脚本指的是本地系统的运行脚本还是Groovy 脚本
Groovy 源包和Java 源包:这里是Groovy 项目的风格,在Groovy 项目中一般将Groovy 和Java 的源文件分开两个源文件夹
target :类似Maven 生成最终程序的目录,里面存放着程序运行以后生成的二进制文件和日志文件。估计最终打包也是在这个目录下。
集成测试和单元测试:都是放测试类的文件夹,没做过测试不了解。
Web 应用程序:应用程序的根目录。