У меня есть проект Spring Boot 2, и мне нужно отформатировать поле в объекте на основе другого поля.Поле 'name' в сущности ниже должно иметь формат 'name' + "(Invalid)", если 'active' равно false, в противном случае, если true, тогда "(Invalid)" необходимо удалить.Этот пример - самый простой случай.На самом деле существует около 30 классов, которым нужна эта логика.У каждого есть поле 'active', но 'name' может быть любым.
public class Entity {
private String name;
private boolean active;
// getters and setters
}
Я подумал о двух вариантах:
- Взлом метода setActive (логический активный)добавить или удалить «(неверно)» на основе значения «активный».Я не хочу этого делать, потому что было бы более 30 классов для взлома.
- Создайте пользовательскую аннотацию, которая будет применять логику для добавления или удаления «(недействительно)» в поле «имя».
- Другой вариант, который мне не хватает.
Можно ли создать пользовательскую аннотацию, которая будет делать это?Если да, то как?
В своем исследовании я выяснил, как установить значение на основе отражения.И создайте пользовательскую аннотацию.Я не понимаю, как заставить Spring увидеть его и когда он выполнит его.