首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

简洁、高效、灵活:探索 Spring 同级别的编程框架

官网:https://grails.org/ GitHub:https://github.com/grails Grails是一个全栈框架,试图通过核心技术及其相关插件解决尽可能多的Web开发难题。...Grails开箱即用的内容包括: GORM :一个易于使用的对象映射库,支持SQL,MongoDB,Neo4j等。 可以查看呈现HTML和JSON的技术。...项目 项目描述 GORM for Hibernate SQL 数据库的对象映射实现 GORM for MongoDB MongoDB数据库的对象映射实现 GORM for Neo4j Neo4j图形数据库的对象映射实现...配置和配置共享 服务发现 HTTP 路由 HTTP 客户端和客户端的负载均衡 同时,Micronaut 框架旨在通过提供以下功能来避免Spring、Spring Boot和Grails等框架的缺点:...从高效的反应式数据库客户端到事件流、消息传递和 Web 堆栈,Eclipse Vert.x 项目涵盖了下图中所有内容: Quarkus 传统的Java堆栈是为单体应用设计的,启动时间长,内存需求大,而当时还没有云

85250

《Spring Boot极简教程》第8章 Spring Boot集成Groovy,Grails开发第8章 Spring Boot集成Groovy,Grails开发小结参考资料

DRY(Don't Repeat Yourself,不要重复自己) 约定优于配置(Convention over Configuration) DRY和约定优先于配置的思想,是由Rails兴起并迅速被广泛接收和欣赏的.../ 数据库的对象关系映射层使用GORM 我们使用 Grail 对象关系映射(Grails Object Relational Mapping,GORM)API 进行数据库层的持久化工作。...server.port (默认8080): server: port: 8008 命令行执行(我们也可以使用grails run-app运行工程,区别是grails会下载外部gradle包,配置的...具体的实现源码在org.grails.datastore.gorm里面。这个处理方案跟Spring-jpa的思想基本是一样的。都是通过注解元编程,动态生成相应的方法代码。...不过,在这种.properties配置文件中,中文可读性比较差。

2.5K30
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    8.2 Spring Boot集成Groovy、Grails开发小结参考资料

    DRY(Don't Repeat Yourself,不要重复自己) 约定优于配置(Convention over Configuration) DRY和约定优先于配置的思想,是由Rails兴起并迅速被广泛接收和欣赏的.../ 数据库的对象关系映射层使用GORM 我们使用 Grail 对象关系映射(Grails Object Relational Mapping,GORM)API 进行数据库层的持久化工作。...server.port (默认8080): server: port: 8008 命令行执行(我们也可以使用grails run-app运行工程,区别是grails会下载外部gradle包,配置的...具体的实现源码在org.grails.datastore.gorm里面。这个处理方案跟Spring-jpa的思想基本是一样的。都是通过注解元编程,动态生成相应的方法代码。...不过,在这种.properties配置文件中,中文可读性比较差。

    2.3K30

    2020年9大热门Java框架

    这个框架的其他一些优点是一个全面的配置模型,支持传统数据库和现代数据库(如 NoSQL),并通过支持面向方面编程来支持内聚开发。...它速度快、功能强大、易于扩展、修改和配置。 框架 3:Struts 该框架帮助自定义软件开发人员创建易于维护的企业级应用程序。这个框架的 USP 是它的插件。...谷歌广泛使用了这个框架 框架 6:Grails 可用于为内容管理系统、Restful Web 服务和电子商务网站创建健壮的、可伸缩的应用程序。...它的部分优点包括简单的 GORM、灵活的配置文件、带有多个插件的高级插件系统、简单的对象映射库以及一个支持和响应社区。 框架 7:Blade 以简单和轻量级著称。

    73840

    在你的浏览器中构建和共享开发人员环境

    即使针对创建,配置和共享开发人员环境有出色的解决方案,但仍然可能会非常混乱。...Vagrant + VirtualBox解决方案使开发人员环境的虚拟化变得简单,而且几乎没有麻烦,与此同时,Docker的出现极大地影响了IT世界。...否则,你可以直接前往DockerHub,在那里找到一个合适的映像(花费一些时间选择最好的映像),并将其用作自定义配置中的基础映像。幸运的是,有许多官方的映像是轻量级的,没有不必要的软件和工具。...缺少PHP模块吗?没问题,安装它。在默认环境中缺少Ruby gem吗?自己添加!这是你的项目和环境。所以,每次用户点击运行按钮,Docker脚本都会被执行。...对于尝试一个新的技术或项目来说,这不是矫枉过正吗?你需要多少时间来安装所有东西,并且真正地运行项目?

    4.5K90

    在您的浏览器中构建和共享开发者环境

    在Codenvy中构建Dockerfile与在本地构建Dockerfile没有什么区别 - 相同的指令,相同的规则,相同的输出。有几个Codenvy特定的功能,如注入项目源到图像。...\ unzip -q /home/user/grails-2.4.4.zip -d /home/user/ && rm -rf /home/user/grails-2.4.4.zip #配置环境变量并将它们导出到...否则,您可以直接前往DockerHub,在那里找到一个好的镜像(花费一些时间选择最好的镜像),并将其用作您自定义配置中的基本镜像。幸运的是,有许多官方的图像是轻量级的,没有不必要的软件和工具。...你分享一个镜像,或是镜像 + Vagrantfile,人们下载这些资源,运行一些命令,他们就进入了您配置好的环境。 还记得我们答应详述一键共享和使用开发者环境吗?这并不是一个营销诱饵。...通过这种方式尝试一个新的技术和/或项目不是一个矫枉过正的事情吗?你需要多少时间来安装所有这些东西,从而真正地运行项目?

    1.9K70

    Grails——赋能敏捷开发的利器

    几年前,一个开餐厅的亲戚找我做一个网上订餐的网站(当时外卖平台还没有兴起)。一开始我是拒绝的,因为我的本职工作就是做软件开发的,业余时间真没兴趣再做。...而且从头开始做一个网页应用,工程浩大,我也没有这个时间。...”的原则,大大减少非业务配置和简化代码关系; 配置采用DSL格式,比XML更简洁; 自带测试框架支持测试驱动开发和测试自动化; 可分环境配置启动数据,使测试、上线更轻松; 支持分环境参数配置,轻松生成war...类似的框架还有基于Scala的Play,但是你要掌握Scala就没有Groovy那么容易了。...近年流行的Spring Boot和Grails的比较是,Spring Boot只包含Controller和API,没有UI,适合做微服务应用,Grails适合包含前端到后端的全栈单体应用。

    1.9K50

    Groovy on Grails 交流活动

    以下是一个简要的 Grails 流言列表: “Grails 只是一个 Rails 的拷贝罢了。”...“Grails 使用了一种解释型语言(Groovy)。”Groovy 是在运行阶段被 Java 虚拟机编译成字节码的,它绝对不是解释执行的——从来都不是,并且以后永远也决不会是。我说了 “永远” 吗?...当然,在开发的过程你大可使用 Grails 绑定的 Jetty 容器,这样完全可以做到开发的零配置与无需容器重启的动态载入功能。 “我的经理是不会让我用 Grails 的,因为它不是 Java。”...“Grails 只适用于常规的增删改应用程序。” 有很多注重于 Grails 增删改的应用脚手架的例子,但那些只能体现这一小部分功能而已。Grails 是适用于各种方向 web 应用的框架。...也许有些语言会比 Groovy 具有更多的特性,也许有些语言能与 Java 更好地结合,但到目前为止,能将这两方面几乎完美地结合起来的,唯有 Groovy:是的,没有一门语言可以向它那样提供与 Java

    1.7K20

    GORM V2 几个最实用的功能和升级注意事项

    V2 支持在日志中增加追踪信息 说实话这个是我选择升级到V2的一个主要原因, 良好的基础框架是一个项目成功的必备因素,GORM V1版本开发的Logger接口中我们是没有办法把请求上下文传递进去的。...当我们自己实现好GORM的Logger后,在GORM创建连接的时候需要把Logger选项配置成我们自定义Logger db, err := gorm.Open( mysql.Open(...的时候指定对应的配置,推荐还是用第一种方法。...那就在这里在补充一下吧,GORM自带的软删除我之前是不会用的,因为它那个字段名还有字段的默认值都是限定不能改的,默认值NULL,这在很多公司里DBA设置的约束里是不允许的。 所以我之前没有使用过。...大家觉得有必要从V1升级到V2吗,反正我负责的这些祖传老项目我是不敢动的,新项目倒是可以无脑选择V2。 咱们有踩过V1升V2版本的坑么,可以在评论区里说说呀。----

    26010

    Go语言微服务框架 - 4.初识GORM库

    为了支持复杂的SQL语言,它比之前的配置文件加载工具github.com/spf13/viper要复杂不少。...protobuffer的原始定义 |-- internal 项目的内部代码,不对外暴露 |-- config 配置相关的文件夹...db.Delete(&email) 3.使用GORM的思考 GORM是一个非常重量级的工具,尤其是*gorm.DB提供了大量的类似于Builder模式的方法,用来拼接SQL。...**Go的微服务框架为什么没有统一?**Go的运行时非常轻量级,很难巧妙地像Spring Boot完成框架层面对组件的大一统。...Go语言提供的各类组件,很多都是开源社区对传统服务或云原生理念的自我实践,没有绝对的正确与错误。 **那如今社区上的那些微服务框架都不值一提吗?**并不是。

    1.5K20

    我们要不要使用 ORM?

    难道出了一个新的东西,我们就一定要用吗?...回顾一下以前各种疯狂写重复代码 sql 代码的情况,流程是一样的,代码结构也是类似的,写着差不多的代码,过着差不多的人生吗?...import _ "github.com/go-sql-driver/mysql" 首先,一个库如果不用的话,那当然是没有必要导入的,导入了正式因为需要使用 可以看到 mysql 包中的 init 函数...,会去解析时间 loc=Local 表示入库的时候,使用的是本地时区 以及 gorm 有没有其他的坑?...实际上在应用 gorm 的时候,还是会有很多坑等着咱们,此处先给大家避避坑 与其说是坑,实际上还是自己去应用一个技术的时候对其不够了解,认知没有对齐导致的 创建数据表的坑 使用 gorm 创建数据表的时候

    32020

    【每周小结】2023-Week3

    但基于ORM库,开发中还是会高频出现一些奇怪的问题:明明程序没有bug,ORM的操作结果却没有达到预期。例如插入时status字段是0,没有报错,但查询时缺变成了100。...这类问题,往往是开发者在设计时没有注重 用户认知 导致的,也就是说 现象反直觉、所见非所得。...以GORM字段权限控制为例: type User struct { Name string `gorm:"<-:create"` // 允许读和创建 Name string `gorm:"<-:...// 允许读,禁止写 Name string `gorm:"->"` // 只读(除非有自定义配置,否则禁止写) Name string `gorm:"->;<-:create"`..."` // 通过 struct 迁移会忽略该字段 } 看起来特性很酷,但如果你作为读代码的人,你愿意去读一个结构体中每个Field的tag详情吗?

    52520

    GORM 在项目中的初始化、重要连接参数和多数据源配置

    本篇内容我们专注Go项目集成GORM的第一阶段,即:Go项目下载和安装GORM的步骤、在项目中的初始化、讲解生产环境使用GORM时要设置哪些必要的参数、如何配置GORM的读写分离以及多数据源。...), &gorm.Config{}, ) 初始化GORM 安装完驱动后先不着急去初始化GORM,前面的章节《Go 项‍目配置的定制化及一体化打包方案》我们给项目做好了配置管理,所以我们得先把配置文件进行一些调整...Open 方法的第二个参数我们传递了一个 &gorm.Config{} ,里面没有设置任何配置选项 db, err := gorm.Open(mysql.Open(option.DSN), &gorm.Config...一开始做项目的时候我确实没有考虑到这个问题,工作中大部分DB用的也是MySQL,所以这里设计的不够灵活,好在咱们读者中已经有人开始在项目中使用起来了,并且还做了多数据源的扩展。...总结 从现在开始,项目使用GORM访问数据库做各种操作时完全没有问题的,但还有一个隐患,一旦出现慢SQL或者SQL错误你是没法查到的,因为GORM的Logger默认是把日志输出到控制台的,下一节我们就对这部分其进行定制化

    23210

    叶剑锋 手把手带你写一个Web框架(完结)

    ─15|配置和环境:配置服务中的设计思路(上).pdf 1.79M | ├──16|配置和环境:配置服务中的设计思路(下).html 4.05M | ├──16|配置和环境:配置服务中的设计思路...pdf 1.49M | ├──加餐丨阶段答疑:这些代码里的小知识点你都知道吗?.html 3.67M | ├──加餐丨阶段答疑:这些代码里的小知识点你都知道吗?....pdf 2.37M ├──04-实战第3关:完善功能(1讲) | ├──18丨一体化:前端和后端一定要项目分开吗.html 4.24M | ├──18丨一体化:前端和后端一定要项目分开吗...pdf 2.90M | ├──25丨GORM:数据库的使用必不可少(上).html 9.36M | ├──25丨GORM:数据库的使用必不可少(上).m4a 15.01M | ├──25...丨GORM:数据库的使用必不可少(上).pdf 7.81M | ├──26丨GORM:数据库的使用必不可少(下).html 4.80M | ├──26丨GORM:数据库的使用必不可少(下).

    97920

    我是如何成为一个JavaWeb开发者的

    你会冒着学习的东西很快就会过时的风险吗?   客户端技术   我建议新手开发人员可以从基础的学起;HTML,CSS和Java。这些技术是web开发的核心。...Grails   Grails是建立在Spring之上的快速应用程序开发框架。它不但拥有Spring的所有内容,还借鉴了Groovy的生产力优势。...我喜欢将Grails形容为用Groovy包装过的Spring。关键一点要记住的是,其背后依然是Spring。   Grails现在越来越受到企业的欢迎。...Grails的优势之一就是其出色的社区支持。   SpringRoo   SpringRoo是一个纯Java框架,这似乎和Grails的作用相同,不过它没有Groovy。...SpringRoo还没有被广泛接受。   Play   基于Scala的框架。虽然我还没有尝试过Play。但是现在市场上面的反响不错。所以有机会的话我会试一试。不过它目前还没有被企业中广泛采用。

    96310

    zookeeper 集群搭建

    4台不可以吗?   ...tar -zxvf zookeeper-3.3.6.tar.gz 6、修改配置文件 zoo.cfg   将zookeeper压缩文件解压后,我们进入到 conf 目录: ?   ...比如我们上面的配置:   dataDir=/usr/local/software/zookeeper-3.3.6/data   然后下面配置是: server.0=192.168.146.200:2888...10、搭建问题   如果没有出现上面的状态,说明搭建过程出了问题,那么解决问题的首先就是查看日志文件:   zookeeper 日志文件目录在:   dataDir 配置的目录下,文件名称为:zookeeper.out...下面是两种常见的问题: ①、防火墙为关闭   查看防火墙状态: service iptables status   关闭防火墙: chkconfig iptables off ②、dataDir 配置的目录没有创建

    50350

    在生产环境用了一个月Go语言,我有4点体会

    你明白我的意思吗?在添加了所有的 CreateUser 和 CreateAgency 方法后,“更好的”方法很可能会包含更多的行,但是......如果你还没有明白,我强烈建议你看一看下面关于良好代码结构的资源: https://github.com/ribice/gorsk- 基础 REST API 的良好例子 https://github.com...gorm 可能会让你轻松一些,特别是如果你经常在修改数据库之后忘记在查询中增加字段的话(因为在 gorm 中,你根本不需要做这些)。...如果你喜欢完全掌控 SQL 并且不必学习 GORM 的新语法,那么这是一个不错的方案。 4 Docker 我遇到的一个挑战是配置这个项目的生产环境。...我见过有人通过 JSON、YAML 甚至 git 忽略的.go 文件来配置应用程序变量。我个人发现 env 文件最好用,特别是配合 docker-compose 使用: ? ?

    67220

    Gorm 数据库表迁移与表模型定义

    如果你没有docker环境,可以参考:【一文搞定】Linux、Mac、Windows安装Docker与配置教程!...GORM 的约定,您就可以少写的配置、代码。...如果约定不符合您的实际要求,GORM 允许你配置它们 3.4 gorm.Model GORM 定义一个 gorm.Model 结构体,其包括字段 ID、CreatedAt、UpdatedAt、DeletedAt...字段 // 执行删除是其实是update语句,并没有真正的删除 五、模型定义高级选项与标签 5.1 字段级权限控制 可导出的字段在使用 GORM 进行 CRUD 时拥有全部的权限,此外,GORM 允许您用标签控制字段级别的权限..., <- 创建和更新权限 -> 设置字段读权限, ->:false 没有读权限 - 忽略该字段, - 没有读写权限, -:migration 没有迁移权限, -:all 没有 read/write/migrate

    43210
    领券