Краткий ответ: вы должны реализовать свой код проверки так, как вам говорит ваша инфраструктура.Как правило, это публичный метод или аннотация.Интерфейс тоже может работать.Если вы добавите код, размер вашего класса увеличится.
Проверка данных должна автоматически вызываться инфраструктурой вашего программного обеспечения.Это помогает предотвратить забвение программистами соответствующего кода.Итак, методы должны быть общедоступными (интерфейс тоже будет работать).
Такие фреймворки, как Struts, Spring, Hibernate и имеют свои собственные системы проверки.Java EE использует проверку bean-компонента.
Я рекомендую проверку bean-компонента, поскольку он выполняет проверку независимо от источника ввода.Когда большинство людей думает о проверке ввода, они думают о данных, поступающих от пользователя, например, HTTP-запрос, командная консоль, текстовое поле Swing.Проверка Spring и Struts часто подходит для таких ситуаций.Но в долгоживущих программах, разработанных для предприятий, часто вводятся другие потоки данных, например обновления базы данных SQL из других программ, восстановление базы данных после сбоя, служебная шина предприятия, JMS.
Вот почему я предпочитаю проверку бобов.Недостатком является то, что «безопасные источники» (данные, которые, как вы знаете, незапятнаны) проверяются без необходимости.Но с сегодняшней вычислительной мощностью это редко должно вызывать серьезную озабоченность. Учебник по Java EE