开始使用Grails Java框架

449 阅读6分钟

开始使用Grails Java框架

近年来,许多开发人员在开发网站时都会使用框架。框架有助于使应用程序的部署更加快速,并确保代码质量。Java提供多平台支持,这包括桌面应用、网络应用、移动应用开发等。

网络应用可以嵌入JavaScript、HTML、CSS和许多前端应用。

架构介绍

Grails是Java和Groovy框架,在开发敏捷的Web应用时使用。Grails实现了MVCS(模型、视图和控制器)设计模式。

Grails是极好的,因为它允许开发者更专注于实际的应用需求,而花更少的时间来配置框架。Grails提供了开发的工具,它是基于以下工具建立的。Quarts、Hibernate、Spring,以及用于库管理的Gradle。

有许多Grails框架版本正在建立,它们支持不同的库和工具。

前提条件

  • 拥有一个[IntelliJ]集成开发环境(IDE)。
  • 有一些[Java]开发的基本知识。
  • 在你的计算机/笔记本电脑中安装有[Java开发工具包(JDK)],以帮助应用程序的开发。在这种情况下,我们将使用Java 11。

安装Grails

  • 按照教程下载[Grails框架],我们的版本是4.0.6,其中你会得到一个压缩文件。
  • 解压缩文件并把它放在你保存开发工具的地方。这就是我们如何进行Windows[解压]。Ubuntu[解压缩]。
  • 设置环境变量GRAILS_HOME ,指向Grails安装目录所在的位置。[设置windows环境变量]。

开始使用

Grails提供了一套支持应用开发的命令。集成开发环境也简化了命令的使用,并提供了一种用户可以点击菜单快速开发应用程序的方式。

要在Grails框架中创建一个应用程序,可以在终端或Windows CMD中执行create-app 命令,参数为应用程序的名称。

下面的命令显示了如何通过终端或CMD创建一个应用程序。在你想保存应用程序的目录中打开终端或CMD。

在本例中,我们在文档夹中有一个名为Projects 的文件夹。

通过终端导航到Projects 文件夹。

#Ubuntu
cd C:\Users\user\Documents\Projects         
#Windows
cd C:\Users\user\Documents\Projects

用以下命令创建第一个应用程序。

grails create-app Firstapp

CREATE-APP

Grails应用程序在Firstapp 目录下形成,人们可以执行许多其他grails命令。

要运行该应用程序,请运行以下命令。

grails run-app

该命令将通过浏览器运行网络应用。你可以在浏览器中输入高亮的命令。

CREATE-APP

BROWSER VIEW

文件夹结构和目录

grails应用程序有以下文件夹结构。

├── .gradle
├── build
├── gradle
├── grails-app
├── src
├── .gitignore.txt
├── build.gradle
├── gradle
├── gradlew
├── gradlew.bat
├── grailsw
├── grailsw.bat
└── grails-wrapper

grails-app ,有以下几个目录。

├── assets
├── conf
├── Controllers
├── domain
├── i18n
├── init
├── services
├── taglib
├── utils
└── views

assets文件夹

这个文件夹是存放所有静态文件夹的地方,如Javascript、图片、CSS和其他静态多媒体内容。

conf文件夹

这是配置文件所在的地方,包括resources.groovy、application.yml、logback.groovy以及来自插件的任何其他配置。

controller文件夹

该文件夹包含控制请求的控制器,默认为UrlMapping.groovy。

domain文件夹

这是保存模型类的文件夹,这些模型类类似于数据库表。

i18n文件夹

该文件夹有用于翻译的资源。

init文件夹

该文件夹包含与你需要启动Web应用程序时有关的文件。

services文件夹

所有的业务逻辑通常都放在service文件夹下。

taglib文件夹

这个文件夹包含标签,开发者可以添加自己的标签。标签有助于压缩GSP代码,因为它们在重复使用代码时有帮助。

utils文件夹

在这个文件夹中,我们可以放置实用的Groovy类。

views文件夹

它包含GSP文件,其中保存有HTML代码。

GRAILS MVC

MVC设计模式有助于在应用程序中划分责任,以简化架构。模型类代表系统中的领域对象。

控制器类控制你的应用程序的流程。服务类处理应用程序中的业务逻辑。视图工件被用来以所需的方式呈现信息。

创建一个域类

下面的命令添加了一个空的域类。

grails create-domain-class Student
package firstapp

class Student {

    static constraints = {
        }
    }

我们可以添加属性。

package firstapp

class Student {
    String name
    String gender
    Date dateOfBirth
    Integer position
    static constraints = {
        }
    }

创建控制器类

下面的命令添加了一个空的控制器类。

grails create-controller Student
package firstapp

class StudentController {

    def index() { }
    }

配置数据库

数据库的配置是在application.yml中完成的,以任何需要的凭证连接任何数据库。在该文件中,任何数据库都可以被连接,只要它有一个JDBC驱动。

dataSource:
pooled: true
jmxExport: true
driverClassName: org.h2.Driver
username: sa
password: ''

environments:
development:
dataSource:
dbCreate: create-drop
url: jdbc:h2:mem:devDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
test:
dataSource:
dbCreate: update
url: jdbc:h2:mem:testDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
production:
dataSource:
dbCreate: none
url: jdbc:h2:./prodDb;MVCC=TRUE;LOCK_TIMEOUT=10000;DB_CLOSE_ON_EXIT=FALSE
properties:
jmxEnabled: true
initialSize: 5
maxActive: 50
minIdle: 5
maxIdle: 25
maxWait: 10000
maxAge: 600000
timeBetweenEvictionRunsMillis: 5000
minEvictableIdleTimeMillis: 60000
validationQuery: SELECT 1
validationQueryTimeout: 3
validationInterval: 15000
testOnBorrow: true
testWhileIdle: true
testOnReturn: false
jdbcInterceptors: ConnectionState
defaultTransactionIsolation: 2 # TRANSACTION_READ_COMMITTED

生成视图

下面的命令可以生成GSP视图。

grails generate-all Student

学生控制器类中会有许多其他功能。运行grails应用程序,在浏览器中访问以下链接http://localhost:8080/student/index

该命令还在同一对象student下的views文件夹中创建视图。

以下视图被创建。

├── show.gsp
├── index.gsp
├── create.gsp
└── edit.gsp

每个视图都有其功能。show.gsp用于显示所选的单个对象,index.gsp用于显示数据库中的项目列表,create.gsp在添加新项目时提供一个表单,edit.gsp用于编辑任何现有数据。

浏览器中的新视图将看起来像下面这样。

VIEWS.

同样的文件夹可以在Intellij中打开,继续进行快速编码。对于任何Class的添加,开发者需要右键点击给定的文件夹,并根据该文件夹创建一个Grails Class。

任何不存在的库都可以通过build.gradle添加。就像CMD/Terminal一样,Grails有一个终端窗口,人们可以在那里执行Grails命令,而不需要到主CMD/Terminal去。

它在IntelliJ中是这样的。

INTELLIJ VIEW.

总结

恭喜你,你的快速Grail应用已经成功运行。Grails框架通过利用几种工具的优势并将它们结合在一起来提供帮助。