轻松访问时髦的POJO物业



我是时髦的新手,还在学习我的方式。 有没有一种简单的方法可以使用点符号在 groovy 中获取 POJO 属性值? 例如,我有以下POJO:

public class MyPOJO {
        protected String name;
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
}

在 groovy 中,我想获取名称字段的值,如下所示:

def doSomething (MyPOJO mpj) {
    def name = mpj.name
    // do something
}

以上是行不通的。 我知道我仍然可以使用 java getter 和 setter,但我希望能够达到可以动态拉取 pojo 值的地步,如下所示:

def doSomething (MyPOJO mpj, String propertyName) {
    def propertyValue = mpj.'${propertyName}'
    // do something
}

我试图避免使用java反射。 感谢您的帮助!

米哈尔 - 道歉...第一个代码片段有效,第二个代码片段无效。

斯坦普勒 - 奏效了! 这在啃我。 更正的代码段:

def doSomething (MyPOJO mpj, String propertyName) {
    def propertyValue = mpj."${propertyName}"
    // do something
}

相关内容

  • 没有找到相关文章