|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Я тут код смотрю чужой и вижу такое, а так как всё еще не прочитал книгу или много доков по спрингу не особо уверен, что такое кол-во аннотаций есть гуд: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Особенно смущает последняя комбинация :) Имеет право на жизнь такой код или аннотации перекрывают друг друга? ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 00:31 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Nixic Я тут код смотрю чужой и вижу такое, а так как всё еще не прочитал книгу или много доков по спрингу не особо уверен, что такое кол-во аннотаций есть гуд: Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12.
Особенно смущает последняя комбинация :) Имеет право на жизнь такой код или аннотации перекрывают друг друга? Ну "@Configuration" это грязный класс. Надо стараться чтобы в нем сосредотачивалась всякая дичь. Как минимум это лучше, чем писать портянки xml, для настройки Spring-контекста. :-) ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 05:59 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Да тут вопрос больше наверное про сочетание: Код: java 1. 2.
выглядит реально как дичь Это тоже странновато: Код: java 1. 2.
В реальности наверное лучше просто в метод передать этот бин как параметр, а не инжектить во всю конфигурацию. ... |
|||
:
Нравится:
Не нравится:
|
|||
14.05.2020, 18:06 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
SpringMan Да тут вопрос больше наверное про сочетание: Код: java 1. 2.
выглядит реально как дичь Согласен с вами. Это странное аннотирование SpringMan Это тоже странновато: Код: java 1. 2.
В реальности наверное лучше просто в метод передать этот бин как параметр, а не инжектить во всю конфигурацию. Ну возможно, нужны бины в методе "@PostConstruct" ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 05:21 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Nixic Я тут код смотрю чужой и вижу такое Код: java 1. 2. 3. 4.
Щас мы разберем все полтора миллиона вариантов аннотаций и скажем что метод2 тут явно лишний ))) ... |
|||
:
Нравится:
Не нравится:
|
|||
15.05.2020, 06:04 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Хех, ну да вариантов много. В общем выложу код, переименую класс, чтоб не палиться :) Задача такая - не давать стартовать сервису, если не доступна БД. Да, меня именно эта связка аннотаций смутила: @Bean @PostConstruct а инжект Environment'а - фиг с ним :) SomeConfig.java Код: java 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28.
... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2020, 11:19 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Я вообще думаю, что для решения задачи достаточно было в пропертях добавить spring.datasource.continue-on-error=false Что и было зделано дополнительно к этому коду. Но чувак не мог отловить эту ошибку и записать её в лог, чтобы девопсы видели, что пошло не так. Но вот эта связка... очень смущает. Наверное есть лучше способ? ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2020, 11:24 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Для такого решения достаточно только @PostConstruct. По поводу spring.datasource.continue-on-error=false тут есть. Этот параметр значит: падать, если скрипт инициализации базы успешно не запустился - т.е. придется подложить какой-нить скрипт - тоже не самое красивое, что есть) Вообще как я понял, у разработчиков этого добра философия такая, что приложение не должно падать, а должно пытаться подключаться до победного Nixic Но чувак не мог отловить эту ошибку и записать её в лог, чтобы девопсы видели, что пошло не так. Вообще звучит как неправда ... |
|||
:
Нравится:
Не нравится:
|
|||
16.05.2020, 22:52 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
SpringMan Вообще как я понял, у разработчиков этого добра философия такая, что приложение не должно падать, а должно пытаться подключаться до победного Да не, там же System.exit(1); Приложение вообще без подключения к БД не долго стартовать, на счет того, что оно в рантайме потеряет БД тут оно хоть упадет, хоть нет - не важно, главное, что если упадет, то не принудительно. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 01:53 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
SpringMan Для такого решения достаточно только @PostConstruct. По поводу spring.datasource.continue-on-error=false тут есть. Этот параметр значит: падать, если скрипт инициализации базы успешно не запустился - т.е. придется подложить какой-нить скрипт - тоже не самое красивое, что есть) Вообще как я понял, у разработчиков этого добра философия такая, что приложение не должно падать, а должно пытаться подключаться до победного Nixic Но чувак не мог отловить эту ошибку и записать её в лог, чтобы девопсы видели, что пошло не так. Вообще звучит как неправда Вы про подключение к базе? Не, такое не поддерживается в Спринге сейчас. Вот ссылка на обсуждение и на мой коммент (ник apriamostanov): https://github.com/spring-projects/spring-boot/issues/4779#issuecomment-501242970 Он не просто не стартует если базы нет, но и падает если например базу перезагрузили. Идея в том чтобы отлавливать восстановимые ошибки при коннекте к базе и ждать их восстановления. Сейчас это не поддерживается в Спринге ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 04:00 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Я фигею. Спринг уже аннотациями базу захватил? Тут есть хоть один у кого рабочий проект с этим делом? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 10:44 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Потому что спринг пора закопать. Иначе рискуете, что ваш проект начнет жить своей жизнью, независимо от вас, и ничего хорошего из этого разумеется не выйдет. Думать надо, и архитектуру разрабатывать головой, а не спрингом. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 10:51 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Nixic SpringMan Вообще как я понял, у разработчиков этого добра философия такая, что приложение не должно падать, а должно пытаться подключаться до победного Да не, там же System.exit(1); Приложение вообще без подключения к БД не долго стартовать, на счет того, что оно в рантайме потеряет БД тут оно хоть упадет, хоть нет - не важно, главное, что если упадет, то не принудительно. Не так выразился. Философия у сприговцев, не у создателя приложения dakeiras Он не просто не стартует если базы нет, но и падает если например базу перезагрузили. Специально сейчас проверил: приложение нормально стартует, если нет базы. У ТС-а уже противоположная проблема ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 11:01 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Я фигею. Спринг уже аннотациями базу захватил? Тут есть хоть один у кого рабочий проект с этим делом? Ну там возможность только запустить sql скрипт при старте приложения или flayway/liquidbase скрипты - магии особой нет ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 11:12 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
SpringMan PetroNotC Sharp Я фигею. Спринг уже аннотациями базу захватил? Тут есть хоть один у кого рабочий проект с этим делом? Ну там возможность только запустить sql скрипт при старте приложения или flayway/liquidbase скрипты - магии особой нет Не понял архитектуру и замысел. Если так как ты написал, тогда это походит на выполнение скрипта из html. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 11:22 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
>или flayway/liquidbase скрипты = спринг знает про эти либы? Есть include какие то что ли о данных форматах? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 11:24 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp >или flayway/liquidbase скрипты = спринг знает про эти либы? Есть include какие то что ли о данных форматах? Ужос.... Почитал. Спринг и туда добрался. Круто)) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 11:27 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
По сабжу - аннотации спринга = перебор. Прогеру трудно выбирать, где они нужны и где не нужны. Так как аннотирование превратилось в программирование. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 11:29 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp Не понял архитектуру и замысел. Если так как ты написал, тогда это походит на выполнение скрипта из html. По сути да. Такой же подход (создание базы из приложения) есть в hibernate, groovy on grails, ruby on rails и т.п. Это всего лишь возможность для особых случаев, никто не обязует так делать всегда ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 11:35 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
SpringMan, Ну, могу сказать про хибер. Эта фича у него естественна. Вот и получается что спринг нагло влез на территорию хибера. Ну а Ruby вроде к java не имеет отношения. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 11:39 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Тут имхо не важно хибер/руби или что там еще. Главное выбрать подход: создавать базу во время старта приложения или накатывать скрипты отдельно. Лично мне вообще не спокойно, если хиберу давать делать какие-то ddl операции. Кто знает, что он там начнет делать в случае обновления версий и т.п. - sql скрипты прозрачнее ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 11:46 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
SpringMan, ЗАДАЧА: Создать БД (тестовая?) во время старта ВЕБ ПРИЛОЖЕНИЯ (сервиса?) ...... Тут столько вопросов сразу возникает по уточнению ТЗ. Что невольно спрашиваешь, нахрена тут спринг лезет вообще со своей аннотацией? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 12:01 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
PetroNotC Sharp, Для создания базы при старте приложения вообще не надо никаких аннотаций, это решается на уровне конфигураций. Создание базы и аннотации ТС-а это не связанные проблемы (ТС захотел просто использовать spring.datasource.continue-on-error = false, а это не совсем о его проблеме) ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 12:37 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
Nixic Особенно смущает последняя комбинация :) Имеет право на жизнь такой код или аннотации перекрывают друг друга? Поскольку декларативная наука "программирование на аннотациях" еще не сформировалась, как отдельная отрасль - нам придется решать вопросы приоритета процессинга аннотаций особенно если процессоров более чем один. Я думаю что это выльеться как минимум еще в один язык программирования или мета-язык. И где-то на последних этапах переосмысления мы придем вопросу принципиальной невозможности решать эти проблемы на мета-языке и нам потребуется не мета-язык а ПОЛНОЦЕННЫЙ язык пре-процессинга наподобие языка разработки. Или создадим язык-в-языке. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 12:53 |
|
Аннотации спринга, по-моему перебор, не? :)
|
|||
---|---|---|---|
#18+
SpringMan, Аннотация это конфигурирование на сегодняшний день. Или декларативное программирование. Поэтому фраза: "не надо аннотаций но надо конфигурации" вообще запутывает честного программиста. А я говорил еще шире - какого рожна спринг лезет в базу. Хоть и скриптами? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.05.2020, 13:25 |
|
|
start [/forum/topic.php?fid=59&fpage=15&tid=2120799]: |
0ms |
get settings: |
26ms |
get forum list: |
13ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
78ms |
get topic data: |
13ms |
get forum data: |
2ms |
get page messages: |
525ms |
get tp. blocked users: |
2ms |
others: | 332ms |
total: | 999ms |
0 / 0 |