powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / аннотации или xml в спринг
19 сообщений из 19, страница 1 из 1
аннотации или xml в спринг
    #38444197
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
есть ли какие-то объективные оценки, сравнительная характеристика может быть, чтобы сравнить эти два подхода к конфигурированию.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38444210
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90 ,
Критерий очень простой - готовы вы засирать свой бизнес код аннотациям сторонних библиотек, тем самым намертво к ним привязываясь, или нет.
Лично я выступаю ярым противником аннотаций по двум причинам:
1) То, что я озвучил выше - код намертво привязывается к библиотекам.
2) Невозможно быстро понять, что откуда идет. Вот я смотрю, идет какой-то Autowired. А откуда он идет - хз, надо по другим классам тыкать. Вот я смотрю на аннотации Hibernate - и опять, я вижу только маленькую часть, надо тыкать по другим классам, что бы получить полную картинку. А в XML все компактно собрано в одном месте.
3) Наконец, с XML-ками гораздо удобнее тестировать.

Лично для меня определяющим является второй пункт.

Вообще, это очень холиварная тема, здесь сейчас будет срач с вероятностью 95%. Но общий посыл такой: ни от XML, ни от антоаций еще никто не умирал. Это не та проблема над которой нужно долго медитировать. Нравятся аннотации - используйте аннотации. Нравится XML - используйте XML.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38444230
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
cdtyjv,

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

насчёт библиотек - я не понял, что вы имеете ввиду.

и насчёт тестирования тоже не понял - у меня с тестированием вроде проблем не было.

вот я и вижу что везде, что каждый кулик свое болото хвалит, а мне надо как-то ОБЪЕКТИВНО это оценить.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38444242
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90я вот например не разделяю вашей любви к xml. смотришь на xml - сразу волосы дыбом, а на аннотации - сразу всё понятно.

Субъективно.

redwhite90насчёт библиотек - я не понял, что вы имеете ввиду.

Domain Model вроде как не должна зависеть от Spring.
Аннотации привязывают ваши независимые классы к Spring API.

redwhite90вот я и вижу что везде, что каждый кулик свое болото хвалит, а мне надо как-то ОБЪЕКТИВНО это оценить.
Объективно, на простых решениях - аннотации норм. На крупных решениях есть нюансы
1) Аннотациями не всегда можно сделать, что достаточно не сложно делается на XML
2) По спринговому XML конфигу можно примерно представить структуру всего приложения, не читая сами классы.
3) XML позволяет иметь несколько разных конфигураций для одних и тех же классов. С аннотациями тоже можно, но сложнее. Нужно аккуратнее различать что общего у конфигураций, а что различается.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38444245
cdtyjv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90 ,
К сожалению, не все вещи можно подвести под какие-то объективные критерии. Ведь мы, программисты, люди. И пишем мы тоже для людей. А значит фактор субъективности будет присутствовать всегда. И ваш вопрос - как раз больше зависит от субъективных факторов, чем от объективных.
Давайте по пунктам:
1) Я утверждаю, что XML читать удобнее. А вы утверждаете, что аннотации. Кто из нас прав? Никто, это чисто субъективная оценка. Я за свою практику насмотрелся на много XMLек, и мне с ними очень комфортно. Чистой воды субъективизм.
2) Привязка к библиотекам. Вот вы недавно спрашивали, что такое high cohesion. Отвечу: это когда один класс выполняет строго определенную функцию. Когда я проектирую классы и интерфейсы, я всегда стремлюсь, что бы в них не было ничего лишнего, что бы был этот самый high cohesion. Так вот, entity по своей сути - это просто контейнер для одной или нескольких записей из СУБД. На уровне entity мы оперируем такими вещами, как String, Map, Collection, примитивы, и т.д. То есть какими-то самыми базовыми вещами. И тут вы врываетесь, и запиливаете внутрь entity аннотации JPA и Hibernate, и она уже является не только хранилищем реляционных данных, но и хранилищем метаданных об эти данных. То есть это по сути DDL + DML в одном месте. Вы знаете хоть одну СУБД, где можно в рамках одного оператора забабахать и DDL, и DML? Я нет. Я предпочитаю, что бы данные жили отдельно, метаданные отдельн. Это мои аргументы против аннотаций. Они субъективны.
А теперь давайте посмотрим на это с другой стороны. Ну добавили вы эти аннотации в entity. Ну да, у вас уменьшился этот самый cohesion. Ну и что? Кому от этого плохо будет? Да, в каких-то редких сценариях это не будет работать, из-за особенностей ТЗ. Но у вас сейчас есть такой сценарий? Да в подавляющем большинстве случаев с аннотациями можно жить, и ни о чем не париться. Это тоже субъективное мнение, просто с другой стороны.
3) По тестам - это я опять таки выдаю субъективные ощущения, так как я в целом люблю XML, мне с ними комфортнее.

Вот такие дела. И если вы обратите внимание, то все холивары возникают как раз таки в темах, где много субъективизма, и мало фактов. Аннотации vs XML, нужны DTO или нет, rich model vs anemic model, хороший Hibernate или плохой, и т.д.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38444294
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не надо забывать что lifecycle приложения состоит не только из программинга но еще и из
конфигурирования и бесконечного цикла эксплуатации. И если XML рассматривается со стороны
DSL для бизнес-задачи то он предпочтительнее. Ведь доступа к исходникам обычно не бывает.

А с точки зрения лаконичности и разработки Annotations удобнее ведь они - часть языка Java.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38445359
Pavel Kurakin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
cdtyjvВы знаете хоть одну СУБД, где можно в рамках одного оператора забабахать и DDL, и DML?

create table MyTable2 as select field1, field2 from MyTable1 where field3 > 100

:)
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38445417
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczОбъективно, на простых решениях - аннотации норм. На крупных решениях есть нюансы
1) Аннотациями не всегда можно сделать, что достаточно не сложно делается на XML
2) По спринговому XML конфигу можно примерно представить структуру всего приложения, не читая сами классы.
3) XML позволяет иметь несколько разных конфигураций для одних и тех же классов. С аннотациями тоже можно, но сложнее. Нужно аккуратнее различать что общего у конфигураций, а что различается.
1. Java конфигруцией и аннотациями можно сделать то, для чего на xml придется писать свои NamespaceHandler-ы для spring-а. А это очень увлекательно занятие.
2. Тоже самое можно сделать используя аннотации и java конфигурацию.- перечисляем где нам нужно классы модулей и все становится понятным.
3. Доступно с 3-его релизом спринга т.е. уже достаточно много лет.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38445431
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwa1. Java конфигруцией и аннотациями можно сделать то, для чего на xml придется писать свои NamespaceHandler-ы для spring-а. А это очень увлекательно занятие.

С "Java конфигруцией" и аннотации-то не нужны.

schwa2. Тоже самое можно сделать используя аннотации и java конфигурацию.- перечисляем где нам нужно классы модулей и все становится понятным.
Аннотации тогда зачем, если всё в Java конфигурации указано?

schwa3. Доступно с 3-его релизом спринга т.е. уже достаточно много лет.
Как называется?
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38445515
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Blazkowiczschwa1. Java конфигруцией и аннотациями можно сделать то, для чего на xml придется писать свои NamespaceHandler-ы для spring-а. А это очень увлекательно занятие.

С "Java конфигруцией" и аннотации-то не нужны.

schwa2. Тоже самое можно сделать используя аннотации и java конфигурацию.- перечисляем где нам нужно классы модулей и все становится понятным.
Аннотации тогда зачем, если всё в Java конфигурации указано?

schwa3. Доступно с 3-его релизом спринга т.е. уже достаточно много лет.
Как называется?
Аннотации без java-based конфигов ничем не отличается от xml. И использовать аннотации вместе с xml после 3 релиза есть смысл только в случае, если переписывать все эти xml банально не хочется.

И xml и Java конфигурация решают одну и туже задачу и аннотации везде работают одинаково. Как в xml конфиге с поддержкой автовайринга объект заинджектится контейнером, так и в java конфигурации он заинджектится без всякого вызова методов.

А проблемы с разными конфигурациями для одних и тех же объектов при java конфигов отсутствует как класс т.к. конфигурация это такой же код.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38445529
Лагман
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Xml лучше для нетривиальных случаев, скажем, если вы инжектите 1 бин в разные скопы, да и вообще, нагляднее. По аннотациям трудно сориентироваться. У нас вот тут по мере нарастания интерпрайза, аннотации и autowired потихоньку исчезают, xml и сеттеры остаются.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38445533
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwaАннотации без java-based конфигов ничем не отличается от xml. И использовать аннотации вместе с xml после 3 релиза есть смысл только в случае, если переписывать все эти xml банально не хочется.

И xml и Java конфигурация решают одну и туже задачу и аннотации везде работают одинаково. Как в xml конфиге с поддержкой автовайринга объект заинджектится контейнером, так и в java конфигурации он заинджектится без всякого вызова методов.

А проблемы с разными конфигурациями для одних и тех же объектов при java конфигов отсутствует как класс т.к. конфигурация это такой же код.
Разговор ни о чем. Вопрос был про XML vs Аннотации. Java конфигурация это аналог XML конфигурации, только в Java синтаксисе. Недостатков использования аннотаций он никак не отменяет. Поэтому почему вдруг XML противопоставляется Java конфигурации, мне не понятно. Это одно и то же. Вопрос в аннотациях.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38445538
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЛагманXml лучше для нетривиальных случаев, скажем, если вы инжектите 1 бин в разные скопы, да и вообще, нагляднее. По аннотациям трудно сориентироваться. У нас вот тут по мере нарастания интерпрайза, аннотации и autowired потихоньку исчезают, xml и сеттеры остаются.
Вот и я о том же.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38445598
Фотография schwa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczschwaАннотации без java-based конфигов ничем не отличается от xml. И использовать аннотации вместе с xml после 3 релиза есть смысл только в случае, если переписывать все эти xml банально не хочется.

И xml и Java конфигурация решают одну и туже задачу и аннотации везде работают одинаково. Как в xml конфиге с поддержкой автовайринга объект заинджектится контейнером, так и в java конфигурации он заинджектится без всякого вызова методов.

А проблемы с разными конфигурациями для одних и тех же объектов при java конфигов отсутствует как класс т.к. конфигурация это такой же код.
Разговор ни о чем. Вопрос был про XML vs Аннотации. Java конфигурация это аналог XML конфигурации, только в Java синтаксисе. Недостатков использования аннотаций он никак не отменяет. Поэтому почему вдруг XML противопоставляется Java конфигурации, мне не понятно. Это одно и то же. Вопрос в аннотациях.
Потому что аннотаций в вакууме меньше возможностей чем xml, а java конфиг дает аннотациям все то, чего им недоставало. До их появления у аннотаций не было модулей. Но уже несколько лет эта проблема решена. И с того момента все трудности, возникающие после применения аннотаций, это лишь проблемы дисциплины. Если можно раскидать объекты по xml, то по java классам их можно раскидать и подавно.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38445620
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
schwaПотому что аннотаций в вакууме меньше возможностей чем xml

Аллилуя! О чем тогда спор?

schwaа java конфиг дает аннотациям все то, чего им недоставало.
Зачем тогда аннотации, если есть конфиг?

schwaДо их появления у аннотаций не было модулей. Но уже несколько лет эта проблема решена. И с того момента все трудности, возникающие после применения аннотаций, это лишь проблемы дисциплины.

Вот и сводится к тому что у нас часть конфигурации на аннотациях, а часть на Java, там где аннотации не справляются.

schwaЕсли можно раскидать объекты по xml, то по java классам их можно раскидать и подавно.
Ну, вот опять. Вопрос был об аннотациях и конфигурации, а не о Java конфигурации и XML конфигурации.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38445636
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Некоторые уже и вопрос в контекст Spring-а перенесли.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38445640
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maytonНекоторые уже и вопрос в контекст Spring-а перенесли.
Spring в сабже указан.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38445657
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая досада. Никуда от этой пружины не денешся.
...
Рейтинг: 0 / 0
аннотации или xml в спринг
    #38445658
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вот ещё какой вопрос мне давно не даёт покоя. Сканирование, ведь, аннотаций по куче .class файлов, это же вообще не быстрая операция. Должна существенно увеличивать время запуска. Правильно?
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / Java [игнор отключен] [закрыт для гостей] / аннотации или xml в спринг
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]