是否在 grails 中使用 getter 和 setter?

2024-02-12

如果您在 grails 项目中有一个域类,您还可以使用 getter 和 setter 来写入或读取它们。

例如域类 Book 具有属性:

String author

在控制器中,你有一本书,你想设置这本书的作者: 这适用于直接访问属性或使用 getter 和 setter 方法,尽管它们不在类中。

book.author = "Mike Miller"
book.setAuthor("Mike Miller")

在 groovy 和 grails 中获取和设置属性的首选方法是什么?


他们是一样的。当你有一个无作用域的字段时,例如String author,Groovy 编译器将该字段设为私有并为其创建一个 getter 和 setter。但它不会覆盖现有方法,因此您可以定义自己的 set 和/或 get(如果它不仅仅是设置和获取值)。

book.author = "Mike Miller"是用于调用 setter 的 Groovy 语法糖,就像String authorName = book.author是调用 getter 的语法糖。要看到这一点,请编辑类并添加 setter 或 getter 并添加 println,例如

void setAuthor(String a) {
   println "Setting author to '$a', was '$author'" 
   author = a
}

您可以使用反编译器查看生成的代码 - 我推荐 JD-GUI,http://java.decompiler.free.fr/?q=jdgui http://java.decompiler.free.fr/?q=jdgui

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

是否在 grails 中使用 getter 和 setter? 的相关文章

  • 如何在 Groovy 中执行引用等于?

    Groovy 将 映射到 eq uals 通常很方便 但是当我想按同一性进行比较时该怎么办 例如 GPathResult通过调用text 来实现equals 对于大多数内部节点来说它是空的 我正在尝试识别根节点 但通过该实现这是不可能的 如
  • Groovy 中的 __LINE__ 功能

    可以通过以下方式获取当前行号 LINE 在 Ruby 或 Perl 中 例如 print filename FILE line LINE Groovy 中有同样的功能吗 不能直接获取 但您可以通过异常 或可抛出 堆栈跟踪来获取它 例如 St
  • Grails:如何更改默认视图位置?

    我有控制器AdminTagController 默认情况下视图将位于 adminTag文件夹 是否可以将此控制器的默认文件夹更改为 admin view 我可以为每个方法指定视图 但这并不酷 谢谢 可以用以下命令更改它拦截器后 http g
  • 在 Grails 中,域类中有像 onLoad() 这样的东西吗?

    Guys 我有以下域类 class Product String name String productRecord static transients productRecord ProductRecord 是根据 Product 实例的
  • Grails Log4J 未登录生产环境

    我有一个 Grails 1 3 7 应用程序 并尝试在配置中设置 log4j 以用于生产 log4j 设置在开发中很好 但我无法在生产中显示任何内容 我正在尝试制作一个滚动文件等 但我无法显示任何内容 我什至在 信息 级别进行了配置 这样我
  • 使用 groovy 向 jenkins 作业添加附加参数

    我们有一组 groovy 脚本 用户可以在他们的 jenkins 文件中调用它们来设置一些常见的作业属性 但是 我们无法弄清楚在进行此更新时如何保留其现有参数 我们的常规代码片段 def newParamsList def newbool
  • 如何在 JIRA Script Runner 中通过电子邮件获取用户

    编写 Groovy 脚本时JIRA 脚本运行器 https marketplace atlassian com plugins com onresolve jira groovy groovyrunner server overview 如
  • Groovy 中 Null Object 类的用途是什么?

    我已经使用 Groovy 五个小时了 刚刚发现Groovy NullObject http groovy codehaus org api index html org codehaus groovy runtime NullObject
  • grails 中的 log4j:在附加程序配置中使用变量时打印错误

    我在 grails 2 3 4 中使用 slf4j DailyRollingFileAppender 当我尝试使用变量作为 文件 参数的一部分时 grails 总是在应用程序启动时打印一些错误日志 但是我的应用程序的日志消息可以按预期打印到
  • 从属性文件加载属性并使其在整个作业/管道中可用 - Jenkins 声明性语法

    我的要求很简单 我只是想外部化一些 值 以使我的 Jenkinsfile 更可重用 为此我需要从 Jenkinsfile 旁边的文件加载属性 并确保这些属性是可以在管道中的任何地方使用 我对 Groovy 和 Jenkins 代码仍然很陌生
  • GPars 报告大量异步函数的状态并等待完成

    我有一个解析器 在收集一行数据后 我想触发一个 aync 函数并让它处理该行 同时主线程继续运行并获取下一行 我看过这个帖子 在 Groovy 中如何同时执行两个任务并等待结果 https stackoverflow com questio
  • 您可以使用 Jenkins Pipeline 解析 TAP 格式吗?

    我正在尝试解析 BATS 脚本的输出 https github com gaia adm docker bench test https github com gaia adm docker bench test 输出为 TAP 格式 我稍
  • Grails - 错误分叉 Grails VM 因错误退出

    首先 我想说 我是 Grails 的初学者 在尝试遵循一些示例时 我不断收到无法解决的错误 如果问题很愚蠢 那么很抱歉 我通过命令行创建了一个虚拟应用程序 并尝试以相同的方式运行它 run app 但出现以下错误 运行 Grails 应用程
  • 转换 Java -> Grails ... 如何加载这些属性?

    我正在将 Java Web 应用程序转换为 Grails 1 2 1 在我的 Java 应用程序中 我有一个从 properties 文件加载属性的单例 我已经看到我可以将其加载到 Config groovy conf 文件中 如果我的属性
  • 在 Grails 中使用 AOP 不适用于服务

    我使用 Grails 2 2 3 并在 grails app conf spring resources groovy 中键入以下代码 beans xmlns aop http www springframework org schema
  • SOAPUI:如何包含外部文件中的 Groovy 脚本

    How can I include groovy script from an external file 我试图使用 def script new GroovyScriptEngine d soapui payment v2 with l
  • 构建战争时如何包含额外文件?

    我正在尝试添加一个目录 garils app store 对我的战争就像这样BuildConfig groovy grails war resources stagingDir args gt copy file grails app st
  • 如何在视图中调用 Grails 服务?

    简单的问题 我有一个服务类 比方说helpersService 和一个方法def constructURI params 如何从模板视图调用此方法 我尝试了以下代码但没有成功 img src 但我得到以下结果 No signature of
  • Groovy 和 Groovy++,它们有什么不同吗?

    我最近知道groovy 已经发布了 Groovy和Groovy 的主要区别是什么 来自 groovy 页面http code google com p groovypptest http code google com p groovypp
  • Jenkins 管道和 java.nio.file.* 方法的问题

    我正在尝试使用 java nio file 中的方法在 Jenkins 管道中执行一些基本文件操作 无论代码存在于哪个节点块中 代码都在主节点上执行 在管道中 我已经验证了各个节点块都是正确的 它们唯一地标识了特定的节点 但是 pathEx

随机推荐