Я хочу иметь механизм проверки метода. Я ищу:Проверка параметров ввода java
public void someMethod(@valid String emailAddress, @valid Integer ID) {
}
Это класс общего назначения, не обязательно java bean. Причина, по которой я хочу этого, заключается в том, что я хочу отделить логику проверки от этого конкретного класса.
Также я хочу использовать принцип DRY, который означает, что различные методы будут использовать аналогичные параметры, поэтому я не хочу дублировать усилия и не хочу вводить несоответствия, обрабатывающие аналогичные типы входов.
Кроме того, я хочу сделать свой код более читаемым, так как в противном случае тело моего метода будет посыпано логикой проверки/then/else, которая затруднит понимание реальной логики и приведет к ненужному отвлечению внимания.
Если мой код был аннотирован некоторой логикой, тогда кто-то, например, весна, должен назвать это - эта часть, я думаю, я понимаю. Поэтому я не уверен, как это реализовать. Будет ли работать аспектно-ориентированное программирование?
Возможно, вам захочется узнать, что может сделать для вас «Hibernate Validator». – Tom
Вы можете создать прокси-сервер вокруг вашего класса, который обрабатывает проверку для каждого параметра. В вашей аннотации может быть элемент 'Class extends Predicate >> value() ', который укажет на класс проверки для этого параметра, который будет создан и протестирован вашим прокси-сервером. – shmosel
Я думаю, что это именно то, что может сделать АОП – ZhaoGang