【丁雪丰(译)】SpringBoot实战第六节:在SpringBoot中使用Grails《读后感》

前言

今天学习了一下本章,看到标题我先百度了一下,Grails是什么,也是第一次接触吧,然后查看了对Grails的描述:

Grails是一套用于快速Web应用开发的开源框架,它基于Groovy编程语言,并构建于Spring、Hibernate等开源框架之上,是一个高生产力一站式框架。

文章中已经告诉我们Springboot是支持Grails对象关系映射和Groovy服务器页面的Grails的特性,还会看到Grails 3是如何基于SpringBoot重写的。针对章节介绍我们开始书中案例的demo练习:

使用GORM进行数据持久化

package com.zcw.grails

import grails.persistence.Entity


@Entity
class Book {
    Reader reader
    String isbn
    String title
    String author
    String description
}


作者说Grails里最让人着迷的恐怕就是GORM了,我们可以理解最核心就是它,而且上手操作特别简单,GORM将数据库相关工作简化到和声明要持久化的实体一样容易。查看我们上面的代码,跟我们以往通过java代码进行创建的类,这里没有分好,public、private修饰符、setter和getter方法或其他java中常见的代码操作,查看文章告诉我们Grails的@Entity注解让我们这个类变成为GORM实例,我们看似简单其实实体可干了不少事,包括将对象映射到数据库,为Book添加了持久化方法,通过这些方法可以存取图书。同时书中告诉我们,如果想在我们springboot项目中使用这么骚气的技术,可以在maven项目中添加如下依赖,就可以了:

<!--使用Groovy语言-->
        <dependency>
            <groupId>org.codehaus.groovy</groupId>
            <artifactId>groovy-all-minimal</artifactId>
            <version>1.5.8</version>
        </dependency>

【丁雪丰(译)】SpringBoot实战第六节:在SpringBoot中使用Grails《读后感》_第1张图片

注意一点:

如果想创建Groovy项目时,需要配置环境变量—题外话
在这里插入图片描述

创建GORM Reader实体


package com.zcw.grails

import grails.persistence.Entity
import org.springframework.security.core.GrantedAuthority
import org.springframework.security.core.userdetails.UserDetails


@Entity //表示这是一个实体类
class Reader implements UserDetails{
    String username
    String fullname
    String password
    //实现UserDetails
    @Override
    Collection<? extends GrantedAuthority> getAuthorities() {
        return null
    }

    @Override
    boolean isAccountNonExpired() {
        return false
    }

    @Override
    boolean isAccountNonLocked() {
        return false
    }

    @Override
    boolean isCredentialsNonExpired() {
        return false
    }

    @Override
    boolean isEnabled() {
        return false
    }
}


通过上面两个demo我们看到,使用Groovy语言可以与springboot项目无缝对接,其实书中已经给我们演示了,很多代码,也算是一个完整的CRUD流程,总体感觉还是挺不错的,上手非常的快,以后在项目开发中,可以尝试玩一下,这些骚操作,作者还给我们介绍了Groovy语言的几个方面吧:

  • 定义领域模型
  • 开发Grails控制器
  • 创建视图
    等等吧,总体还是觉得挺不错的,大家也可以尝试的使用,因为之前在项目开发中使用过其中的一个jar包就是令牌桶的这个jar包,没有像今天这么通过demo去细细的学习这个语言,这个语言的语法我已经基本摸透,就等有时间在项目中直接开发。

创建Groovy项目

使用IDEA 开发工具,
【丁雪丰(译)】SpringBoot实战第六节:在SpringBoot中使用Grails《读后感》_第2张图片
【丁雪丰(译)】SpringBoot实战第六节:在SpringBoot中使用Grails《读后感》_第3张图片
图上标红的地方是我们下载groovy安装的解压的地方,解压完成以后,我们还需要配置环境变量,这个情况大家不要忘记,其实他跟java配置是一样的,只是命令不一样,如果大家感兴趣的话,可以自行百度groovy语言的语法操作。

总结

通过本章的学习,特别是作者在书中提出的观点,Grails和SpringBoot 都旨在让开发者的生活更简单,这一点确实,因为我们在创建实体类时,我们不用编写他的get.set方法,当然我们springboot项目现在使用lombok注解也可以解决,总体来说,这个语言的一些语法其实有很多我们大家去学习,我看官方文档介绍这个语言有很多新的特性,再加上可以跟java无缝对接,这样我们也能很好的去实现,其实目前很多论坛都在说GORM是springboot的新特性,能让我们大家直接对领域模型执行持久化操作,消除了对模型仓库的需求,在书中我们认识了Grails3 ,这个框架可以使用springboot的全部特性,包括自动配置。

你可能感兴趣的:(Spring,#,Spring,Boot实战)