Я пытаюсь заставить mapstruct работать с bean-компонентами с другим соглашением о присвоении имен сеттерам. Некоторые из компонентов в проекте называются такими, как withValue(string val)
Стратегия CustomNaming с mapstruct SPI
На основе документации можно реализовать реализацию AccessorNamingStrategy в проекте и настройку SPI. Исходя из этого, я создал свой собственный NamingStrategy и имеют следующий файл, созданный в моем проекте
/META-INF/services/org.mapstruct.ap.spi.AccessorNamingStrategy
с полностью quaified имя моей пользовательской реализации в нем.
Но я не мог заставить spi работать для моей собственной стратегии именования.
Копаем в Options.java Я нашел, что свойство «mapstruct.alwaysGenerateServicesFile
» должно быть установлено в true. Но обработчик аннотаций в intelliJ, похоже, отвергает это свойство, поскольку он не реганизирован ни одним из обработчиков аннотаций.
Я также вижу это свойство «mapstruct.alwaysGenerateServicesFile
» не документированы в http://mapstruct.org/documentation/1.1/reference/html/index.html#configuration-options
Является ли эта функция все еще поддерживается в MapStruct. Кто-нибудь получил пользовательскую стратегию именования, действующую в вашем проекте.
Рад, что вы нашли решение. Стратегия именования SPI также описана в MapStruct [справочном руководстве] (http://mapstruct.org/documentation/stable/reference/html/index.html#_custom_accessor_naming_strategy). – Gunnar