Привязка к любому свойству любым способом возможна и довольно проста, если вы создаете свой собственный ELResolver ( apidocs ). elresolvers зарегистрированы в лицах конфигурации, и они отвечают, учитывая Object и String, определяющие свойство, для определения значения и типа данных свойств (и, по мере необходимости, для его изменения).
Вы можете легко написать свой собственный ELResolver, который будет работать только для выбранного вами типа, и использовать (например, в операторе switch) конкретные методы, которые вам нужны для записи и чтения свойств. И для других типов это делегировало бы разрешение цепочки распознавателя. Это действительно легко сделать, гораздо проще, чем кажется.
Но не делай этого. Стандартная схема именования свойств предшествует EL на многие годы. Он является частью стандарта JavaBeans ™ - одного из немногих бесспорных стандартов в Javaland, работающих везде - от ant-скриптов, весенних конфигурационных файлов до JSF. Видение методов isPerson и getPerson в одном классе на самом деле заставляет меня чувствовать себя неловко, так как это ломает то, что я всегда воспринимаю как должное и всегда могу рассчитывать.
Если вам нравится DDD и вы хотите иметь чистые имена методов, используйте адаптер. Это легко, весело и дает пару дополнительных строк, на которые не стоит насмехаться, если вам платят за количество произведенного кода:
public class MyNotReallyBean {
public String checkName() { ... }
public String lookUpLastName() { ... }
public String carefullyAskAboutAge() { ... }
public class BeanAdapter {
public String getName() { return checkName(); }
public String getLastName() { return lookUpLastName(); }
public String getAge() { return carefullyAskAboutAge(); }
}
private static BeanAdapter beanAdapter = new BeanAdapter();
private BeanAdapter getBeanAdapter(){ return beanAdapter; }
}