![]() |
Модераторы: LSD, AntonSaburov |
![]() ![]() ![]() |
|
kkin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 9.8.2010 Репутация: нет Всего: нет |
Добрый день.
Хотел узнать что такое аннотации, где именно и как использовать? ![]() |
|||
|
||||
danilych |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 2.2.2011 Репутация: 3 Всего: 3 |
Аннотации призваны упростить программирование, но они обычно обрабатываются не компилятором java, а сторонней программой. Для примера можно привести пример с обработкой транзакций - тут код получается очень тривиальным, т.е. перед выполнением запросов в БД, нужно открыть транзакцию а по окончании ее подтвердить или откатить, эти операции необходимо писать из метода в метод, но в Spring framework есть аннотации для работы с транзакциями и они используются для автогенерации кода (это одно из применений аннотаций). Процесс происходит так - сначала обрабатываются аннотации какой то сторонней программой/компилятором, а затем вступает в дело компилятор java, по крайне мере такое у меня понимание.
В hibernate аннотации используются для объявления таблиц БД на основе классов java. В Spring MVC аннотации позволяют указывать методы класса для обработки запросов POST и GET и д.р. В общем, аннотации штука очень полезная и применяется очень широко - своего рода аналог декларативного программирования. |
|||
|
||||
Farmazon |
|
|||
![]() Разработчик ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 7.7.2006 Репутация: 1 Всего: 5 |
аннотация - это надпись(бляшка) которая навешивается на метод, класс, поле, параметр и проч.
Эта информация не обрабатывается компилятором, но служит вспомогательной для работы некоторых библиотек(её ведь можно прочитать с помощью Reflection). -------------------- Таково моё общее мнение. |
|||
|
||||
danilych |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 2.2.2011 Репутация: 3 Всего: 3 |
а что по поводу аннотации @Overriden ? |
|||
|
||||
kkin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 9.8.2010 Репутация: нет Всего: нет |
Спасибо danilych,
Farmazon, Ситуация начинает проясняться, теперь бы получить примеры из жизни, что бы полностью понимать систему. |
|||
|
||||
Farmazon |
|
|||
![]() Разработчик ![]() ![]() Профиль Группа: Участник Сообщений: 265 Регистрация: 7.7.2006 Репутация: 1 Всего: 5 |
По идее, Override не является обязательной, введена для удобства.
Аннотации не влияют на структуру классов, просто вспомогательные надписи. Но логика некоторых библиотек завязана на эти надписи. Вот определение:
а вот пример Это сообщение отредактировал(а) Farmazon - 19.7.2011, 10:04 -------------------- Таково моё общее мнение. |
|||
|
||||
danilych |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 72 Регистрация: 2.2.2011 Репутация: 3 Всего: 3 |
Лучшим способом будет изучение уже существующих фреймворков - в Spring и Hibernate примеров куча. Могу посоветовать Apress - Spring Recipes. A Problem-Solution Approach 3.0. |
|||
|
||||
kkin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 9.8.2010 Репутация: нет Всего: нет |
Предоставленная вами информация очень полезна.
Сейчас пробую реализовать связь с БД при помощи netBeans и технологии Hibernate |
|||
|
||||
LSD |
|
|||
![]() Leprechaun Software Developer ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 15718 Регистрация: 24.3.2004 Где: Dublin Репутация: 210 Всего: 538 |
Аннотации бывают 3-х видов: 1. SOURCE - существуют только во время компиляции и влияют только на компиляцию, в рантайме не доступны. @Override это как раз такая аннотация. К компилятору можно подключить свой процессор аннотаций, например как это сделано в cofoja. 2. RUNTIME - добавляются к классу и доступны во время работы приложения, через рефлексию. Примеров использования куча: Spring, Hibernate, JEE 5.0. 3. CLASS - есть в классе, но в рантайме не доступны. Используются достаточно редко, в основном тулами которые постпроцессят классы типа GWT. -------------------- Disclaimer: this post contains explicit depictions of personal opinion. So, if it sounds sarcastic, don't take it seriously. If it sounds dangerous, do not try this at home or at all. And if it offends you, just don't read it. |
|||
|
||||
AntonSaburov |
|
|||
![]() Штурман ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5658 Регистрация: 2.7.2002 Где: Санкт-Петербург Репутация: 51 Всего: 118 |
Можно почитать в статье - http://java-course.ru/articles/articles.php?name=java15
И можно посмотреть реальные примеры использования - http://java-course.ru/students/students.php?name=part18 |
|||
|
||||
kkin |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 9.8.2010 Репутация: нет Всего: нет |
AntonSaburov, благодарю то что необходимо.
|
|||
|
||||
![]() ![]() ![]() |
Правила форума "Java" | |
|
Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |