Size: a a a

Spring Framework and more

2020 April 25

C

Cyclone in Spring Framework and more
Ну как бы окей, не суть важно, какая часть спринга это делает, важно, что постпроцессов сканит, я предполагаю, на основе аннотации @Repository, то есть для бина, созданного из java-конфига это работать не будет?
источник

VS

Vitaly Sirotkin in Spring Framework and more
Не будет. Но ты можешь вручную через постпроцессор прожевать)
источник

C

Cyclone in Spring Framework and more
ну блин ) я так не хочу) да, собственно, и не знаю, как прожевать.
источник

C

Cyclone in Spring Framework and more
Я чото не задумывался раньше. Если реализация репозитори единственная, ставишь @Repository - она сканится, готово. Если реализаций несколько, и надо выбрать одну по условию (и ConditionalOn не спасают), то @Bean в конфиг-классе и результат тот же.
А вот вдруг понял, что нет, не тот же.
источник

RS

Ruslan Stelmachenko in Spring Framework and more
а почему ConditionalOn не спасают?
источник

C

Cyclone in Spring Framework and more
Ruslan Stelmachenko
а почему ConditionalOn не спасают?
Не знаю, может, у меня там какая-нибудь лоллическая логика выбора реализации.

В действительности я заменил метод в конфиге на ConditionalOn, но осадочек остался.
источник

RS

Ruslan Stelmachenko in Spring Framework and more
Вообще, да, Спринг порой очень не гибок и не продуман в некоторых местах. Я вот как-то хотел создать контроллер из конфигурации (а не авто-сканом). Причем, конечно же, я хотел, чтобы бин контроллера не создавался, если конфигурация не применилась из-за какого-либо кондишина.

Но практически единственный способ создать контроллер - это пометить его аннотацией @Controller (или любой другой аннотацией, которая сама помечена аннотацией @Controller). Но как только я это делаю - класс становится компонентом и находится через компнонет-скан, становясь бином.

Я тогда решил проблему, кажется, заглянув в исходники спринга и заметив, что его резолвер хттп-методов реагирует не только на аннотацию @Controller, но и на аннотацию @RequestMethod (которая бин не создает, к счастью). Т.е. @RequestMethod является маркер-аннотацией для резолвера. И если пометить этой аннотацией любой класс, то тогда можно создать бин через конфигурацию, и он все еще будет "контроллером" (резолвер найдет его методы).

Но это скорее хак, чем фича. Повезло, что данная аннотация тоже "котируется" спрингом. Если бы не это, то пришлось бы либо пакет с контроллером в блек-лист для автоскана добавлять, либо свой дополнительный резолвер делать..

А вот с @Repositoty, похоже, повезло меньше. Аналога этой аннотации, но не помеченной @Component-ом - из коробки нет. Хотя, вы наверное можете создать свою собственную аннотацию, пометить ею свой класс-репозиторий, и кроме этого создать бин PersistenceExceptionTranslationPostProcessor, только вызвать на нем метод setRepositoryAnnotationType(ваша-новая-аннотация.class) - мне кажется должно работать.
источник

C

Cyclone in Spring Framework and more
Руслан, пользуясь случаем выражаю уважение за множество полезных ответов в этом чатике.
источник

C

Cyclone in Spring Framework and more
> не только на аннотацию @Controller, но и на аннотацию @RequestMethod

Звучит как костыль. )))
источник

RS

Ruslan Stelmachenko in Spring Framework and more
Cyclone
Не знаю, может, у меня там какая-нибудь лоллическая логика выбора реализации.

В действительности я заменил метод в конфиге на ConditionalOn, но осадочек остался.
на самом деле можно создавать свои реализации Conditional, с относительно любой логикой внутри. на вскидку не помню как, но точно можно.
источник

RS

Ruslan Stelmachenko in Spring Framework and more
Cyclone
Руслан, пользуясь случаем выражаю уважение за множество полезных ответов в этом чатике.
рад, что кому-то смог помочь)
источник

RS

Ruslan Stelmachenko in Spring Framework and more
Cyclone
> не только на аннотацию @Controller, но и на аннотацию @RequestMethod

Звучит как костыль. )))
и выглядит как костыль. и пахнет как костыль)
источник

C

Cyclone in Spring Framework and more
Ruslan Stelmachenko
на самом деле можно создавать свои реализации Conditional, с относительно любой логикой внутри. на вскидку не помню как, но точно можно.
неплохо
источник

R

Roman in Spring Framework and more
Есть у кого опыт в принятии объекта содержащего объект, в котором одно из полей файл.  Типа поля в странице и прикреплённый файл. Речь REST end point куда прилетит JSON этот с фронта
источник

М

Михаил in Spring Framework and more
На самом деле ясно, почему только над классом ставится @Repository. У него под капотом PersistenceExceptionTranslationAdvisor, который использует AnnotationMatchingPointcut, соответственно ставь-не ставь ему свою аннотацию в его bpp, поведение будет такое же, просто проверит стоит ли над репой аннотация и все. Только почему именно так сделали, не понятно
источник

HB

Hellen Brown in Spring Framework and more
She made me smile again and i don't want to smile alone, Mrs ELLENAWENDY changed my story, My friend connected me to her, her platform is very sure and easy to access, if you really want to trade, contact her and you will know that investment is not as difficult as it seems, this is my third withdrawal since I knew her and I recommend her for everyone. You can reach her through 👇👇👇
👇👇👇👇
@ELLENAWENDY
@ELLENAWENDY
источник

MH

Muhammad Hojiyev in Spring Framework and more
Hi everone ! how can fix it?
#please #help
источник

d

dfhikk in Spring Framework and more
Keep away from people who try to belittle your ambitions. Small people always do that, but the really great make you feel that you, too, can become great.”
Failure is simply the opportunity to begin again, this time more intelligently…You have failed in bitcoin investments severally, doesn't mean you have to give up. Quiters never win. I offer you today a life changing opportunity for you to contact and a reliable and trustworthy account manager Mr Joshua Albert to trade your bitcoins for you. Below are his details if you wish to contact him. 👇

https://t.me/joinchat/AAAAAEyuwxQh7EfhlIxEfg
источник

НК

Никита Кальнов in Spring Framework and more
Muhammad Hojiyev
Hi everone ! how can fix it?
#please #help
That is JavaScript-related question
источник

R

Roman in Spring Framework and more
Кто нибудь знает как в идее накидать Content-Type: multipart/form-data  http запрос, чтобы проверить контроллер?
источник