Я новичок в groovy и все еще изучаю свой путь. Есть ли простой способ получить значения свойств POJO в groovy с использованием точечной нотации? Например, у меня есть следующий POJO:Простой способ доступа к свойствам POJO в groovy?
public class MyPOJO {
protected String name;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
В заводной, я хотел бы получить значение поля имени следующим образом:
def doSomething (MyPOJO mpj) {
def name = mpj.name
// do something
}
выше не работает. Я знаю, что я все еще мог использовать Java добытчик и сеттер, но я хотел бы быть в состоянии добраться до точки, где я могу динамически тянуть значения Pojo так:
def doSomething (MyPOJO mpj, String propertyName) {
def propertyValue = mpj.'${propertyName}'
// do something
}
Я пытаюсь избегать использования Java Reflection , Спасибо за помощь!
Можете ли вы объяснить, что не работает для вас? Ваш код работает для меня. –
Именно так должно работать с Groovy - с небольшой коррекцией вам нужно использовать GString (двойные кавычки) при динамическом доступе к свойству 'def propertyValue = mpj." $ {PropertyName} "' – stempler
downvotes, действительно? – cfrick