Молодец Ткач - редкий дар передавать информацию + качество личного понимания работы механизмов + опыт + понимание низкоуровневых операций ASM + C. Спасибо.
Звук как из бункера. Если сделать громче то орёт и ничего не понятно. Если сделать тихо - то половина слов не слышно т.к. делает звуковое ударение на некоторых словах. Нужно вслушиваться и по 3 раза переслушивать
Пишу вот так, во всех трех вызовах получаю DEFAULT public static void main(String[] args) { inspectService(SimpleService.class); inspectService(LazyService.class); inspectService(String.class); } static void inspectService(Class service){ String res = "DEFAULT"; if(service.isAnnotationPresent(Service.class)){ Service ann = service.getAnnotation(Service.class); res = ann.name()+". "; if (ann.lazyLoad()) { res += " This is LazyServise"; } } System.out.println(res); }
+Урмат Тилеков Потому что у класса/интерфейса Service нет аннотаций :) Попробуйте в первой проверке if использовать аргумент функции service вместо Service.class
+Урмат Тилеков Упс :) Вы всё верно написали, это я ошибся. Но если у вас не находит аннотации над сервисами, но вы их таки указали, проверьте, что Service.class - это класс именно той аннотации, которую вы создали и указали над вашими сервисами. Также проверьте, что у аннотации RenentionPolicy стоит Runtime.
над аннотацией у тебя стоит аннотация ? :-) @interface MyService должен быть аннотирован, Юра не сказал наверное www.mkyong.com/java/java-custom-annotations-example/
Сбор средств для помощи ЗСУ 🇺🇦 Слава Україні! 🇺🇦
www.yuriytkach.com/volunteer
Молодец Ткач - редкий дар передавать информацию + качество личного понимания работы механизмов + опыт + понимание низкоуровневых операций ASM + C. Спасибо.
Спасибо автору, хоть кто-то нормально объяснил зачем они нужны)
лично мне сложно для восприятия, но с паузами и додумываниями становится понятней, спасибо за видео! И да я ещё совсем зеленый, самоучка.
Смотрю в 2022. Подача. Четкий и ясный голос. Прекрасные уроки.
задремал под лекцию, но писк заглючившего компа разбудил.
Через одно-два видео. Собственно, следующими после аннотаций будут выкладываться видео про сериализацию. По времени - где-то через 1-2 недели.
На аннотацией Service так же необходимо прописать @Retention(RetentionPolicy.RUNTIME)
И тогда все заработает. Может кому-то поможет)
Звук как из бункера. Если сделать громче то орёт и ничего не понятно. Если сделать тихо - то половина слов не слышно т.к. делает звуковое ударение на некоторых словах. Нужно вслушиваться и по 3 раза переслушивать
Закрепил знания после прочтения. Очень понравилось видео ! Спасибо
TOP учитель in the world :)
В 19:50 про @Inherited на методах: должна работать только на классах docs.oracle.com/javase/7/docs/api/java/lang/annotation/Inherited.html
ужасный звук
Не @SaveVarargs, а @SafeVarargs
Спасибо за видео, очень понятно и доходчиво!
"В Джаве больше ничего интересного с аннотациями нету" - как раз есть JSR 269, очень интересная штука в Java 6+
Ничего не понял, но жутко интересно.
какой ламповый звук писка компа ))
Качество видео возросло. Похвально.
Пишу вот так, во всех трех вызовах получаю DEFAULT
public static void main(String[] args) {
inspectService(SimpleService.class);
inspectService(LazyService.class);
inspectService(String.class);
}
static void inspectService(Class service){
String res = "DEFAULT";
if(service.isAnnotationPresent(Service.class)){
Service ann = service.getAnnotation(Service.class);
res = ann.name()+". ";
if (ann.lazyLoad()) {
res += " This is LazyServise";
}
}
System.out.println(res);
}
+Урмат Тилеков Потому что у класса/интерфейса Service нет аннотаций :) Попробуйте в первой проверке if использовать аргумент функции service вместо Service.class
Метод isAnnotationPresent() не принимает Class он хочет Class
+Урмат Тилеков Упс :) Вы всё верно написали, это я ошибся. Но если у вас не находит аннотации над сервисами, но вы их таки указали, проверьте, что Service.class - это класс именно той аннотации, которую вы создали и указали над вашими сервисами. Также проверьте, что у аннотации RenentionPolicy стоит Runtime.
+Онлайн уроки по Java Спасибо заработал!!! Оказывается я над Service аннотацию не поставил.
над аннотацией у тебя стоит аннотация ? :-) @interface MyService должен быть аннотирован, Юра не сказал наверное
www.mkyong.com/java/java-custom-annotations-example/
Thanks for your lesson!!!
Полезная инфа
Вот бы еще лекцию про JSR 269
ти знаєш христина стасишин
Странно, вроде бы все делаю также, но Service ann = service.getAnnotation(Service.class) возвращает null если inspectService(SimpleService.class);
Alex, problem is solved by adding @Retention(RetentionPolicy.RUNTIME) to Service annotation interface
Хреновые примеры. Нужно прям какую-то конкретную задачу разобрать, что бы понять... А на эти участки кода можно и на stackoverflow.com посмотреть
ну так смотри а не ной