Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Для чего нужны аннотации 
:(
    Опции темы
kkin
Дата 19.7.2011, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 9.8.2010

Репутация: нет
Всего: нет



Добрый день. 
Хотел узнать что такое аннотации, где именно и как использовать? 

 smile 
PM   Вверх
danilych
Дата 19.7.2011, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 2.2.2011

Репутация: 3
Всего: 3



Аннотации призваны упростить программирование, но они обычно обрабатываются не компилятором java, а сторонней программой. Для примера можно привести пример с обработкой транзакций - тут код получается очень тривиальным, т.е. перед выполнением запросов в БД, нужно открыть транзакцию а по окончании ее подтвердить или откатить, эти операции необходимо писать из метода в метод, но в Spring framework есть аннотации для работы с транзакциями и они используются для автогенерации кода (это одно из применений аннотаций). Процесс происходит так - сначала обрабатываются аннотации какой то сторонней программой/компилятором, а затем вступает в дело компилятор java, по крайне мере такое у меня понимание.
В hibernate аннотации используются для объявления таблиц БД на основе классов java. В Spring MVC аннотации позволяют указывать методы класса для обработки запросов POST и GET и д.р. В общем, аннотации штука очень полезная и применяется очень широко - своего рода аналог декларативного программирования.
PM MAIL   Вверх
Farmazon
Дата 19.7.2011, 08:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Разработчик
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 7.7.2006

Репутация: 1
Всего: 5



аннотация - это надпись(бляшка) которая навешивается на метод, класс, поле, параметр и проч.

Эта информация не обрабатывается компилятором, но служит вспомогательной для работы некоторых библиотек(её ведь можно прочитать с помощью Reflection).


--------------------
Таково моё общее мнение.
PM MAIL WWW   Вверх
danilych
Дата 19.7.2011, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 2.2.2011

Репутация: 3
Всего: 3



Цитата

Эта информация не обрабатывается компилятором,


а что по поводу аннотации @Overriden ?
PM MAIL   Вверх
kkin
Дата 19.7.2011, 09:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 9.8.2010

Репутация: нет
Всего: нет



Спасибо danilych
Farmazon
Ситуация начинает проясняться, теперь бы получить примеры из жизни, что бы полностью понимать систему.
PM   Вверх
Farmazon
Дата 19.7.2011, 10:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Разработчик
**


Профиль
Группа: Участник
Сообщений: 265
Регистрация: 7.7.2006

Репутация: 1
Всего: 5



По идее, Override не является обязательной, введена для удобства. 

Аннотации не влияют на структуру классов, просто вспомогательные надписи. Но логика некоторых библиотек завязана на эти надписи.

Вот определение:
Цитата

Аннотации - это механизм языка программирования Java, используемый для указания метаданных об элементах приложения. Аннотации содержат мета-информацию о способах обработки аннотированных элементов компилятором во время развертывания или выполнения. Другими словами, аннотации являются комментариями к коду, обрабатываемому другими программами и средствами.


а вот пример



Это сообщение отредактировал(а) Farmazon - 19.7.2011, 10:04


--------------------
Таково моё общее мнение.
PM MAIL WWW   Вверх
danilych
Дата 19.7.2011, 10:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 72
Регистрация: 2.2.2011

Репутация: 3
Всего: 3



Цитата

Ситуация начинает проясняться, теперь бы получить примеры из жизни, что бы полностью понимать систему. 


Лучшим способом будет изучение уже существующих фреймворков - в Spring и Hibernate примеров куча. Могу посоветовать Apress - Spring Recipes. A Problem-Solution Approach 3.0.
PM MAIL   Вверх
kkin
Дата 19.7.2011, 10:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 9.8.2010

Репутация: нет
Всего: нет



Предоставленная вами информация очень полезна.

Сейчас пробую реализовать связь с БД при помощи netBeans и технологии Hibernate 
PM   Вверх
LSD
Дата 19.7.2011, 10:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Leprechaun Software Developer
****


Профиль
Группа: Модератор
Сообщений: 15718
Регистрация: 24.3.2004
Где: Dublin

Репутация: 210
Всего: 538



Цитата(danilych @  19.7.2011,  10:16 Найти цитируемый пост)
а что по поводу аннотации @Overriden ? 

Аннотации бывают 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.
PM MAIL WWW   Вверх
AntonSaburov
Дата 20.7.2011, 14:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Штурман
****


Профиль
Группа: Модератор
Сообщений: 5658
Регистрация: 2.7.2002
Где: Санкт-Петербург

Репутация: 51
Всего: 118



Можно почитать в статье - http://java-course.ru/articles/articles.php?name=java15
И можно посмотреть реальные примеры использования - http://java-course.ru/students/students.php?name=part18
PM MAIL WWW ICQ   Вверх
kkin
Дата 20.7.2011, 14:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 9.8.2010

Репутация: нет
Всего: нет



AntonSaburov,  благодарю то что необходимо.

PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.1027 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.