Size: a a a

2021 January 27

E

Ed in pro.jvm
ага, спасиб
источник

AE

Alexandr Emelyanov in pro.jvm
Nikita Gryzlov
Jackson вероятно.
+
источник

AE

Alexandr Emelyanov in pro.jvm
Ed
Популярность и новизна
Новизна не показатель
источник

SP

Sergey Potekhin in pro.jvm
по тестам GSON быстрее работает с маленькими файлами а Jackson c большими.  https://tproger.ru/translations/java-json-library-comparison/
источник

A

A in pro.jvm
источник

НБ

Никита Берегуля... in pro.jvm
Привет, нужна помощь людей которые работали с micronaut 2. У меня вопрос по работе его DI.
Обычно во всех таких фреймворках есть условный контекст будь-то .xml файл или например настройка Injectora в Guice, где мы указываем какие конкретно классы нужно инжектить.
В micronaut такого нет, написано что он сам подставит в compile time все зависимости, и этот момент для меня не очевидный. Как он получает список классов? В документации написано что допустим во время Micronaut.run() или ApplicationContext.run() он инициализирует зависимости. Но, как именно?
Он пойдёт сканить файлы по пакетам в поиске аннотаций или как это получается.
Спасибо за помощь 🤓
источник
2021 January 28

A

A in pro.jvm
Никита Берегуля
Привет, нужна помощь людей которые работали с micronaut 2. У меня вопрос по работе его DI.
Обычно во всех таких фреймворках есть условный контекст будь-то .xml файл или например настройка Injectora в Guice, где мы указываем какие конкретно классы нужно инжектить.
В micronaut такого нет, написано что он сам подставит в compile time все зависимости, и этот момент для меня не очевидный. Как он получает список классов? В документации написано что допустим во время Micronaut.run() или ApplicationContext.run() он инициализирует зависимости. Но, как именно?
Он пойдёт сканить файлы по пакетам в поиске аннотаций или как это получается.
Спасибо за помощь 🤓
Делает annotation processing
источник

AK

Andrei K in pro.jvm
Никита Берегуля
Привет, нужна помощь людей которые работали с micronaut 2. У меня вопрос по работе его DI.
Обычно во всех таких фреймворках есть условный контекст будь-то .xml файл или например настройка Injectora в Guice, где мы указываем какие конкретно классы нужно инжектить.
В micronaut такого нет, написано что он сам подставит в compile time все зависимости, и этот момент для меня не очевидный. Как он получает список классов? В документации написано что допустим во время Micronaut.run() или ApplicationContext.run() он инициализирует зависимости. Но, как именно?
Он пойдёт сканить файлы по пакетам в поиске аннотаций или как это получается.
Спасибо за помощь 🤓
Ну да, идёт сканить, как и Спринг
источник

NG

Nikita Gryzlov in pro.jvm
Никита Берегуля
Привет, нужна помощь людей которые работали с micronaut 2. У меня вопрос по работе его DI.
Обычно во всех таких фреймворках есть условный контекст будь-то .xml файл или например настройка Injectora в Guice, где мы указываем какие конкретно классы нужно инжектить.
В micronaut такого нет, написано что он сам подставит в compile time все зависимости, и этот момент для меня не очевидный. Как он получает список классов? В документации написано что допустим во время Micronaut.run() или ApplicationContext.run() он инициализирует зависимости. Но, как именно?
Он пойдёт сканить файлы по пакетам в поиске аннотаций или как это получается.
Спасибо за помощь 🤓
Могу путать, но кажется он при компиляции кладёт в ресурсы файл со списком "компонентов", по аналогии со spring-indexer. И в рантайме уже не запускает скан пакетов, а берет конкретный список бинов из файла
источник

AE

Alexey Ermakov in pro.jvm
Никита Берегуля
Привет, нужна помощь людей которые работали с micronaut 2. У меня вопрос по работе его DI.
Обычно во всех таких фреймворках есть условный контекст будь-то .xml файл или например настройка Injectora в Guice, где мы указываем какие конкретно классы нужно инжектить.
В micronaut такого нет, написано что он сам подставит в compile time все зависимости, и этот момент для меня не очевидный. Как он получает список классов? В документации написано что допустим во время Micronaut.run() или ApplicationContext.run() он инициализирует зависимости. Но, как именно?
Он пойдёт сканить файлы по пакетам в поиске аннотаций или как это получается.
Спасибо за помощь 🤓
источник

НБ

Никита Берегуля... in pro.jvm
Спасибо всем за помощь, я разобрался немного. Документацию их я прочитал, но там все больше с прикладного уровня, мне было интересно как реализовано внутри.
источник

НБ

Никита Берегуля... in pro.jvm
Просто не понятно зачем тогда в  других DI все работает через рефлексию и прокси, если можно без нее обойтись и это удобнее/быстрее, хотя наверное мне не хватает глубины анализа 😅
источник

AK

Andrei K in pro.jvm
Никита Берегуля
Просто не понятно зачем тогда в  других DI все работает через рефлексию и прокси, если можно без нее обойтись и это удобнее/быстрее, хотя наверное мне не хватает глубины анализа 😅
Ну так потом он через Reflection все и связывает что нашёл
источник

AG

Alexey Genus in pro.jvm
Никита Берегуля
Просто не понятно зачем тогда в  других DI все работает через рефлексию и прокси, если можно без нее обойтись и это удобнее/быстрее, хотя наверное мне не хватает глубины анализа 😅
Раньше все работало в рантайме, потому что ещё не было annotation processing’а. Кроме того, в рантайме можно сделать больше, чем во время компиляции. Например, hibernate может при подключении к базе данных понять, что это вообще за база и настроить диалект запросов. Это даёт spring’у возможность делать тесты на h2, а реальное приложение использовать с любой другой базой. micronaut-data же умеет сейчас работать только с одной базой.
С точки зрения первого вопроса: micronaut сгенерирует класс, в котором будет лежать код связывания объектов, грубо говоря в main-методе, если я правильно помню. Никакой рефлексии там не будет, поэтому и включаться приложение будет очень быстро
источник

RM

Roman Menezes in pro.jvm
доброе время суток, подскажите плиз, в последних версиях спринга изменилась логика работы вызова сессионных бинов (@Scope(value = WebApplicationContext.SCOPE_SESSION, proxyMode = ScopedProxyMode.TARGET_CLASS))
на сколько я понимаю теперь их можно инициализировать исключительно как @Resource и исключительно в контролерах ?
я правильно понял ?
источник

П

Павел in pro.jvm
Народ, посоветуйте легковесный фреймворк/библиотеку для организации REST. Знаю sparkjava, apache camel. Со вторым работал очень давно с xml настройкой, хз как там дела сейчас. С первым не работал. Хочется что-то найти удобное и очень лёгкое.
источник

А

Артём Курилко... in pro.jvm
Всем привет, у меня есть в spring data jpa приложении есть класс сущность и новые значения я сохраняю стандартно через метод save(). Но возникла PropertyValueException, наверное я не вписываюсь в какое-то ограничение в таблице. Можно ли узнать на каком именно поле возникает ошибка. Потому что через дебаггер долго и неудобно высматривать ошибку.
источник

AE

Alexandr Emelyanov in pro.jvm
Артём Курилко
Всем привет, у меня есть в spring data jpa приложении есть класс сущность и новые значения я сохраняю стандартно через метод save(). Но возникла PropertyValueException, наверное я не вписываюсь в какое-то ограничение в таблице. Можно ли узнать на каком именно поле возникает ошибка. Потому что через дебаггер долго и неудобно высматривать ошибку.
в эксепшене должна быть информация
источник

SF

S F in pro.jvm
Павел
Народ, посоветуйте легковесный фреймворк/библиотеку для организации REST. Знаю sparkjava, apache camel. Со вторым работал очень давно с xml настройкой, хз как там дела сейчас. С первым не работал. Хочется что-то найти удобное и очень лёгкое.
У camel есть очень удобный Java dsl
источник

D

Dima in pro.jvm
Павел
Народ, посоветуйте легковесный фреймворк/библиотеку для организации REST. Знаю sparkjava, apache camel. Со вторым работал очень давно с xml настройкой, хз как там дела сейчас. С первым не работал. Хочется что-то найти удобное и очень лёгкое.
кэмел про EIP все же
источник