Инструмент самоанализа можно использовать для изучения свойств и операций, предоставляемых вашим классом. Пакет BeanUtils зависит от спецификации JavaBeans, которая определяет доступные свойства для определенного класса бинов.
Механизм самоанализа может быть настроен начиная с версии 1.9.0 и позволяет приложению изменять или расширять обнаружение свойств компонента по умолчанию. Вы можете достичь этого с помощью интерфейса BeanIntrospector . Реализуя этот интерфейс, мы можем обработать определенный целевой класс и создать его эквивалентные объекты PropertyDescriptor . По умолчанию объекты DefaultBeanIntrospector используются BeanUtils для обнаружения свойств, соответствующих спецификации JavaBeans.
Вы можете расширить механизм обнаружения по умолчанию, используя метод PropertyUtils PropertyUtils.addBeanIntrospector (BeanIntrospector) . Этот пользовательский BeanIntrospector может быть вызван во время самоанализа класса и добавляет обнаруженные свойства к конечному результату.