Комментарии 5
а чего это в 21 веке мы всё еще не перевели наш проект на Java-based конфигурации и наши разработчики постоянно правят XML?
XML конфигурация — это средство времени выполнения. Аннотации — времени компиляции. Они обрабатываются в разные моменты. Если вам не нужна конфигурация в runtime — да, для вас Java-based конфигурации конечно же логичнее (я пожалуй соглашусь, что такие кому она нужна — весьма редки, но у меня таки было пару полезных применений). И кстати, у большей на вид части ваших ограничений реализации ноги растут именно отсюда.
>Мое лично мнение, что любой Spring-проект рано или поздно стоит перевести на Java-based конфигурацию
Таки не любой. Хотя идея вполне хороша, и если переводить — то наверное стоит это делать автоматически, насколько возможно.
+1
Совсем не любой. У меня есть проект, который используется в нескольких компаниях. И, благодаря XML конфигурации, мне не нужно перекомпилировать приложение под каждого клиента. Хотя постоянно есть желание перейти на конфигурацию через код, каждый раз понимаешь, что это повредит конфигурябельности.
+1
Я давно уже на Spring не работал. Но на сколько помню, Java-based != Аннотации.
В Java-based можно вполне себе код писать, и это runtime.
Вот на сколько это полная замена XML, не уверен (имхо, полная замена + удобства).
0
Ну да, я говорил про аннотации, но в общем это не сильно меняет дело. Разница между рантаймом и временем компиляции кое-какая все равно останется, в частности, далеко не всегда у вас в наличии есть весь код всех классов, иногда приложение собирается из модулей, которые доступны и известны в рантайме. И классы некоторые становятся известны тогда же. И xml файлы конфигурации можно вполне (и я делал так много раз) подгружать динамически.
docs.spring.io/spring-framework/docs/5.0.0.RELEASE/spring-framework-reference/core.html#beans-java
Ну вот хоть сюда загляните.
Я не исключаю что тоже что-то забыл, но где тут не про аннотации?
docs.spring.io/spring-framework/docs/5.0.0.RELEASE/spring-framework-reference/core.html#beans-java
Ну вот хоть сюда загляните.
1.12. Java-based container configuration
1.12.1. Basic concepts: Bean and @Configuration
The central artifacts in Spring’s new Java-configuration support are @Configuration-annotated classes and Bean-annotated methods.
Я не исключаю что тоже что-то забыл, но где тут не про аннотации?
+1
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
Конвертируем Spring XML в Java-based Configurations без слёз