LINUX.ORG.RU

Bean Validation


0

1

Доброго времени суток. Никак не могу нагуглить, как юзать сабж. Накатал такой кодес:

import javax.validation.constraints.NotNull;
import javax.validation.constraints.Size;

public class Name
{
    @NotNull
    @Size(min=1, max=1)
    public String firstname;

    @NotNull
    @Size(min=1, max=1)
    public String lastname;
}

По моей - видимо неверной - логике, в процессе компиляции или исполнения идэ должна выматерится на неправомерное юзанье переменных согласно вышеуказанным аннотациям (присваивал и так и сяк), однако ничего подобного не происходит. Как же тогда увидеть в действии ограничители? Только руками валидаторы дергать, как в примерах? Спасибо



Последнее исправление: WennY (всего исправлений: 3)

У джавы строгих ограничений во время компиляции нет. Аннотации при простой компиляции носят исключительно рекомендательный характер и обрабатываться могут только при исполнении программы вышестоящим контейнером (если у аннотации Retention=Runtime), который поддерживает стек API для этих аннотаций (например, JBoss/WebSphere/WebLogic).

Это ведь валидация бинов, она входит в стек Java EE (видишь префикс пакетов javax?).

Т.е. аннотации заработают, когда будешь пользоваться своим веб-приложением, которое будет инжектить твои бины.

Adonai ★★★
()
Ответ на: комментарий от Adonai

А случаем нет ли полностью готовых примеров веб-приложений ((тех же формочек)) с использованией валидаторов (возможно с js-выводом мессаг юзеру и т.п.)? Все вопросы бы отпали сразу. Ушел гуглить.

WennY
() автор топика

Так, по ходу вопрос надо ставить уже иначе. Какой фреймворк выбирать? Все равно ведь все сидят на них. Я пока слишком недалек во всем этом, что бы воротить нос, так что, наверно, есть смысл брать наиболее востребованный на предприятиях и уже точиться по-взрослому на него. Спасибо

WennY
() автор топика
Ответ на: комментарий от WennY

На предприятиях используют JavaEE или Spring - это взаимозаменяемые технологии.

Насчёт примерчика - скину как буду дома. У меня вроде бы завалялся с курсов, и как раз по JavaEE (EJB, JPA)...

P.S. там по JPA достаточно много, вырезать или отдавать как есть? Если не вырезать, придется копаться в настройках JBoss'a и подымать MySQL DB.

Adonai ★★★
()
Последнее исправление: Adonai (всего исправлений: 2)
Ответ на: комментарий от Adonai

Adonai

На предприятиях используют JavaEE или Spring - это взаимозаменяемые технологии.

Правильно ли я понял, что фреймворк спринг заключает весь (или почти весь) функционал ентерпрайза в себе? Если да, то я это и имел в виду. Какой тогда смысл их по отдельности муссировать, если в итоге всучат спринг и придется на месяц закопаться в доки по его api.

По примеру - если вырежешь, конечно буду очень признателен :)

WennY
() автор топика

javax.validation - это API. То есть набор аннотаций без всякой реализации.

Из реализаций могу вспомнить hibernate-validator, но это не единственная.

BattleCoder ★★★★★
()
Ответ на: комментарий от Adonai

Спасибо, хоть и не собирается у меня, но многое стало понятнее :) Adonai, не мог бы ты скинуть свои im-контакты на anty611[гав-гав]мыло.ру? Есть ряд уточняющих, мелкопакостных вопросов, и так не хочется на каждый открывать по топу.. :( В любом случае большое спасибо за все предыдущие ответы.

WennY
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.