powered by simpleCommunicator - 2.0.30     © 2024 Programmizd 02
Map
Форумы / Java [игнор отключен] [закрыт для гостей] / Аннотации спринга, по-моему перебор, не? :)
131 сообщений из 131, показаны все 6 страниц
Аннотации спринга, по-моему перебор, не? :)
    #39957177
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я тут код смотрю чужой и вижу такое, а так как всё еще не прочитал книгу или много доков по спрингу не особо уверен, что такое кол-во аннотаций есть гуд:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
@Configuration
public class ...

@Autowired
    private ...

 @Bean
    public ...

 @Bean
 @PostConstruct
    public ...



Особенно смущает последняя комбинация :)
Имеет право на жизнь такой код или аннотации перекрывают друг друга?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39957208
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixic
Я тут код смотрю чужой и вижу такое, а так как всё еще не прочитал книгу или много доков по спрингу не особо уверен, что такое кол-во аннотаций есть гуд:

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
@Configuration
public class ...

@Autowired
    private ...

 @Bean
    public ...

 @Bean
 @PostConstruct
    public ...



Особенно смущает последняя комбинация :)
Имеет право на жизнь такой код или аннотации перекрывают друг друга?


Ну "@Configuration" это грязный класс.
Надо стараться чтобы в нем сосредотачивалась всякая дичь.

Как минимум это лучше, чем писать портянки xml, для настройки Spring-контекста. :-)
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39957640
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да тут вопрос больше наверное про сочетание:
Код: java
1.
2.
 @Bean
 @PostConstruct 


выглядит реально как дичь

Это тоже странновато:
Код: java
1.
2.
@Autowired
    private


В реальности наверное лучше просто в метод передать этот бин как параметр, а не инжектить во всю конфигурацию.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39957810
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Да тут вопрос больше наверное про сочетание:
Код: java
1.
2.
 @Bean
 @PostConstruct 


выглядит реально как дичь


Согласен с вами. Это странное аннотирование

SpringMan

Это тоже странновато:
Код: java
1.
2.
@Autowired
    private


В реальности наверное лучше просто в метод передать этот бин как параметр, а не инжектить во всю конфигурацию.


Ну возможно, нужны бины в методе "@PostConstruct"
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39957814
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixic
Я тут код смотрю чужой и вижу такое
Код: java
1.
2.
3.
4.
public class ...
метод1... 

метод2... 



Щас мы разберем все полтора миллиона вариантов аннотаций и скажем что метод2 тут явно лишний
)))
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958303
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хех, ну да вариантов много. В общем выложу код, переименую класс, чтоб не палиться :) Задача такая - не давать стартовать сервису, если не доступна БД.
Да, меня именно эта связка аннотаций смутила:
@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.
@Configuration
@EnableTransactionManagement
@EnableCaching
public class SomeConfig {

    private static final Logger LOGGER = LoggerFactory.getLogger(SomeConfig.class);

    @Autowired
    private Environment env;

    @Bean
    @PostConstruct
    public void checkConnection() {
        try {
            HikariConfig config = new HikariConfig();
            config.setMaximumPoolSize(Integer.parseInt(env.getProperty("spring.datasource.hikari.maximum-pool-size")));
            config.setDriverClassName("org.postgresql.Driver");
            config.setJdbcUrl(env.getProperty("spring.datasource.url"));
            config.setUsername(env.getProperty("spring.datasource.username"));
            config.setPassword(env.getProperty("spring.datasource.password"));
            HikariDataSource hikariDataSource = new HikariDataSource(config);
            hikariDataSource.getConnection().getCatalog();
        } catch (Exception ex) {
            LOGGER.error("Не удалось подключиться к БД при старте");
            System.exit(1);
        }
    }
}

...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958304
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я вообще думаю, что для решения задачи достаточно было в пропертях добавить
spring.datasource.continue-on-error=false
Что и было зделано дополнительно к этому коду.
Но чувак не мог отловить эту ошибку и записать её в лог, чтобы девопсы видели, что пошло не так.
Но вот эта связка... очень смущает.
Наверное есть лучше способ?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958477
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для такого решения достаточно только @PostConstruct. По поводу spring.datasource.continue-on-error=false тут есть. Этот параметр значит: падать, если скрипт инициализации базы успешно не запустился - т.е. придется подложить какой-нить скрипт - тоже не самое красивое, что есть)
Вообще как я понял, у разработчиков этого добра философия такая, что приложение не должно падать, а должно пытаться подключаться до победного

Nixic
Но чувак не мог отловить эту ошибку и записать её в лог, чтобы девопсы видели, что пошло не так.

Вообще звучит как неправда
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958507
Nixic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan

Вообще как я понял, у разработчиков этого добра философия такая, что приложение не должно падать, а должно пытаться подключаться до победного

Да не, там же System.exit(1);
Приложение вообще без подключения к БД не долго стартовать, на счет того, что оно в рантайме потеряет БД тут оно хоть упадет, хоть нет - не важно, главное, что если упадет, то не принудительно.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958513
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
Для такого решения достаточно только @PostConstruct. По поводу spring.datasource.continue-on-error=false тут есть. Этот параметр значит: падать, если скрипт инициализации базы успешно не запустился - т.е. придется подложить какой-нить скрипт - тоже не самое красивое, что есть)
Вообще как я понял, у разработчиков этого добра философия такая, что приложение не должно падать, а должно пытаться подключаться до победного

Nixic
Но чувак не мог отловить эту ошибку и записать её в лог, чтобы девопсы видели, что пошло не так.

Вообще звучит как неправда

Вы про подключение к базе? Не, такое не поддерживается в Спринге сейчас.

Вот ссылка на обсуждение и на мой коммент (ник apriamostanov): https://github.com/spring-projects/spring-boot/issues/4779#issuecomment-501242970

Он не просто не стартует если базы нет, но и падает если например базу перезагрузили.

Идея в том чтобы отлавливать восстановимые ошибки при коннекте к базе и ждать их восстановления.

Сейчас это не поддерживается в Спринге
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958527
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я фигею.
Спринг уже аннотациями базу захватил?
Тут есть хоть один у кого рабочий проект с этим делом?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958529
Потому что спринг пора закопать. Иначе рискуете, что ваш проект начнет жить своей жизнью, независимо от вас, и ничего хорошего из этого разумеется не выйдет. Думать надо, и архитектуру разрабатывать головой, а не спрингом.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958532
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Nixic
SpringMan

Вообще как я понял, у разработчиков этого добра философия такая, что приложение не должно падать, а должно пытаться подключаться до победного

Да не, там же System.exit(1);
Приложение вообще без подключения к БД не долго стартовать, на счет того, что оно в рантайме потеряет БД тут оно хоть упадет, хоть нет - не важно, главное, что если упадет, то не принудительно.

Не так выразился. Философия у сприговцев, не у создателя приложения

dakeiras

Он не просто не стартует если базы нет, но и падает если например базу перезагрузили.

Специально сейчас проверил: приложение нормально стартует, если нет базы. У ТС-а уже противоположная проблема
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958535
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
Я фигею.
Спринг уже аннотациями базу захватил?
Тут есть хоть один у кого рабочий проект с этим делом?

Ну там возможность только запустить sql скрипт при старте приложения или flayway/liquidbase скрипты - магии особой нет
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958536
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan
PetroNotC Sharp
Я фигею.
Спринг уже аннотациями базу захватил?
Тут есть хоть один у кого рабочий проект с этим делом?

Ну там возможность только запустить sql скрипт при старте приложения или flayway/liquidbase скрипты - магии особой нет

Не понял архитектуру и замысел.
Если так как ты написал, тогда это походит на выполнение скрипта из html.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958537
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>или flayway/liquidbase скрипты
= спринг знает про эти либы? Есть include какие то что ли о данных форматах?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958538
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
>или flayway/liquidbase скрипты
= спринг знает про эти либы? Есть include какие то что ли о данных форматах?

Ужос....
Почитал. Спринг и туда добрался.
Круто))
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958539
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По сабжу - аннотации спринга = перебор.
Прогеру трудно выбирать, где они нужны и где не нужны.
Так как аннотирование превратилось в программирование.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958540
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp

Не понял архитектуру и замысел.
Если так как ты написал, тогда это походит на выполнение скрипта из html.

По сути да. Такой же подход (создание базы из приложения) есть в hibernate, groovy on grails, ruby on rails и т.п. Это всего лишь возможность для особых случаев, никто не обязует так делать всегда
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958541
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan,
Ну, могу сказать про хибер. Эта фича у него естественна.
Вот и получается что спринг нагло влез на территорию хибера.
Ну а Ruby вроде к java не имеет отношения.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958547
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp,

Тут имхо не важно хибер/руби или что там еще. Главное выбрать подход: создавать базу во время старта приложения или накатывать скрипты отдельно. Лично мне вообще не спокойно, если хиберу давать делать какие-то ddl операции. Кто знает, что он там начнет делать в случае обновления версий и т.п. - sql скрипты прозрачнее
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958550
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan,
ЗАДАЧА: Создать БД (тестовая?) во время старта ВЕБ ПРИЛОЖЕНИЯ (сервиса?)
......
Тут столько вопросов сразу возникает по уточнению ТЗ.
Что невольно спрашиваешь, нахрена тут спринг лезет вообще со своей аннотацией?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958557
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp,

Для создания базы при старте приложения вообще не надо никаких аннотаций, это решается на уровне конфигураций. Создание базы и аннотации ТС-а это не связанные проблемы (ТС захотел просто использовать spring.datasource.continue-on-error = false, а это не совсем о его проблеме)
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958564
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixic

Особенно смущает последняя комбинация :)
Имеет право на жизнь такой код или аннотации перекрывают друг друга?

Поскольку декларативная наука "программирование на аннотациях" еще не сформировалась,
как отдельная отрасль - нам придется решать вопросы приоритета процессинга аннотаций
особенно если процессоров более чем один. Я думаю что это выльеться как минимум еще
в один язык программирования или мета-язык. И где-то на последних этапах переосмысления
мы придем вопросу принципиальной невозможности решать эти проблемы на мета-языке
и нам потребуется не мета-язык а ПОЛНОЦЕННЫЙ язык пре-процессинга наподобие языка
разработки. Или создадим язык-в-языке.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958572
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan,
Аннотация это конфигурирование на сегодняшний день.
Или декларативное программирование.
Поэтому фраза: "не надо аннотаций но надо конфигурации"
вообще запутывает честного программиста.
А я говорил еще шире - какого рожна спринг лезет в базу. Хоть и скриптами?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958573
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Да. Бардак пока с идеологией.
Ведь тема про что?
ПЕРЕБОР АННОТАЦИЙ СПРИНГА
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958574
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixic
Хех, ну да вариантов много. В общем выложу код, переименую класс, чтоб не палиться :) Задача такая - не давать стартовать сервису, если не доступна БД.


Этот вопрос - вообще не имеет отношения к Спрингу. Моя мысль такова - "Show must go on!"

Спринг должен стартовать в любом случае. Есть база или нет. Пул должен перейти в некое
закрытое состояние. И какое-то время (минуту или больше) давать мнговенный код ошибки
на любую попытку получить коннекшек к БД.

Здесь в помошь шаблон - аварийный размыкатель - Cirquit Breaker для предотвращения
долбёжки или висячих сокетов в направлении дохлой базы.

https://spring.io/guides/gs/circuit-breaker/

Моя идея станет более понятна если представить что База это просто очередной ресурс
которых сотни подключенных к приложению и гарантировать все-все из них поднятыми
очень проблемно. Полюбому кто-то будет отваливаться и падать. Теория надёжности
как-бе говорит нам.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958577
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp
SpringMan,
Аннотация это конфигурирование на сегодняшний день.
Или декларативное программирование.
Поэтому фраза: "не надо аннотаций но надо конфигурации"
вообще запутывает честного программиста.
А я говорил еще шире - какого рожна спринг лезет в базу. Хоть и скриптами?

Аннотации это часть java языка, конфигурация spring.datasource.continue-on-error - это запись в properties/yaml файлике. Вроде ничего путанного нет. Спринг может лезть в базу, а может и не лезть. Кто хочет, чтобы лез, тот это настроит. Наличие возможности, даже такой, лучше, чем ее отсутствие

PetroNotC Sharp
mayton,
Да. Бардак пока с идеологией.
Ведь тема про что?
ПЕРЕБОР АННОТАЦИЙ СПРИНГА

Вот то, что мы полдня обсуждаем, это не относится к проблеме ТС-а. У него одна проблема - предшественник до него написал одну лишнюю аннотацию, которая не нужна.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958579
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Увы. Таково течение коллективного разума. Он не всегда обсуждает то что надо автору.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958581
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan,
Да. Конечно.
Мы обсуждаем фразу - название темы.
Буквально.
"Спринг много на себя берет". (с)
авторНаличие возможности, даже такой, лучше, чем ее отсутствие
В архитектуре эта фраза антипаттерн.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958583
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan,
авторВроде ничего путанного нет. Спринг может лезть в базу, а может и не лезть. Кто хочет, чтобы лез, тот это настроит.скажи назначение приватных полей.
Пусть кто хочет лезет, кто хочет не лезет
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958591
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, это очень похоже на антипаттерн. Но тут недавное по-моему asv79 с проблемой бегал. Надо обновить базу, доступа до нее нет, и фиг знает у кого он есть. Есть два пути:
1) Писать каждый раз кучу писем с кучей согласований, чтобы взяли твой скрипт и прогнали фиг знает кто, фиг знает когда и фиг знает какой результат у него будет
2) Встроить это в приложение, которое ты можешь обновлять куда быстрее
Первый способ конечно правильнее, но через какое-то время можно выбрать второй, как путь с меньшим сопротивлением

PetroNotC Sharp
SpringMan,
авторВроде ничего путанного нет. Спринг может лезть в базу, а может и не лезть. Кто хочет, чтобы лез, тот это настроит.
скажи назначение приватных полей.
Пусть кто хочет лезет, кто хочет не лезет
Имхо сравнение не совсем корректно. Спринг/приложение уже знает как попасть в базу. Если оно будет выполнять скрипты никакой дополнительной приватности не нарушается
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958596
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SpringMan,
Откуда оно что знает?
У меня в бд имеет доступ jndi или пул.
Но спринг оказывается что то там знает....
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958602
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
https://www.codeflow.site/ru/article/spring-persistence-jpa-jndi-datasource
Тут вроде спринг никуда не лезет и спокойно уступает место JNDI, JPA, HIBER....
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958605
SpringMan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
PetroNotC Sharp,

А больше ничего и не надо. Через jndi/pool можно точно также вызвать нужный скрипт, как и в спринговом приложении. И тот же спринг можно так же натравливать на jndi)
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958758
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Nixic
Хех, ну да вариантов много. В общем выложу код, переименую класс, чтоб не палиться :) Задача такая - не давать стартовать сервису, если не доступна БД.
Да, меня именно эта связка аннотаций смутила:
@Bean
@PostConstruct
а инжект Environment'а - фиг с ним :)


Не истины ради, а флейма для.
Проверка, на существование БД.
Если нету БД, то приложение падает.
(Для Spring Boot, на Kotlin)

Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
@Configuration
@EnableJpaRepositories
open class Configuration {


    @Bean
    open fun missing(dataSource: DataSource): Boolean =
            ! dataSource.connection.isClosed

}



В принципе в бин можно добавить проверки, даже если есть соединение.
Главное Exception выкинуть.

В данном случае exception кидает "dataSource.connection"
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39958785
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а, вы про чистый Спринг. Там не проверял.

Но в Spring Boot 100% если база не доступна, приложение не стартанёт.

А какой у вас юскейс? Зачем хотите чтобы падало если базы нет? База не всегда доступна (если сеть упала или базу перезагрузили).
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959067
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79,
Чем плохо декларативное программирование?
Тем что ты становишься конфигурастом а не программистом.
Спринг это же клей. Вот ты и клеишь программу.
Поэтому ты не знаешь что такое FK и оператор new object.
Что такое наследование и композиция.
....
Поэтому почему то становится проблемой "огромные куски дубляжа".
Проблема не раскрыта.
Имхо
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959068
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
У декларативности есть дефект. Она - ничего нем не говорит о порядке исполнения операций.
Конешно полагаясь на хронологический порядок аннотаций мы можем предполагать что
процессор аннотаций обработает их именно так. Но что делать когда этих процессоров несколько.
Lombok и Spring (примеру) умеют читать свой домен аннотаций. Но если возникает вопрос
"кто первый процессит" - то здесь декларативное программирование даёт сбой.

Оно (декларативное) - не знает кто первый. Нет у него такой опции как ранг аннотаций или ранг процессинга.
Тоже самое про maven. Maven - делкаративен. Но нам чисто по человечески иногда важно чтобы
в фазе билда работал сначала этот плагин а потом этот. Хотя они декларированы как одно-ранговые.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959075
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
чисто по человечески иногда важно чтобы в фазе билда работал сначала этот плагин а потом этот.
но большую часть времени мы просто не хотим страдать херней, которая не является для нас самоцелью. Ни FK, ни оператор new, ни ручное выделение памяти для нас не самоцель. Кто хочет, пусть свою самооценку повышает - херачит тонны говнокода. Типа написал врукопашную глючный тормозной сервлет, во - программист. Засунул его с горем пополам в томкэт - еще и тру-админ. А скомпилировал самозапускающийся boot-jar за 3 секунды - конфигураст
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959076
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Да можно и порядок и приоритет в принципе закодить.
Но препроцессинг ведь.
Заменяем код своими значками
@мойСуперКлючикСтрокаЗначок(....
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959079
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
Ты тоже прав.
Нужно в меру.
Нужно чтобы спринг знал меру))))
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959081
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну... яб сказал что самый первый вопрос которым должны мордовать и мучать бедного джуна
на техническом ревью - это Spring и жизненный цикл бина. Про что это?

Это именно про порядок инициализации заинжекченых полей и пропертей и пост-конструкторов
и прочего декралативного дерьма. Порядок сцуко - важен. На порядке инициализации 80% багов
прилетает. Особенно хреново когда есть race-conditions. И мультипоточка. И какие-то бл%дские
статические поля переменных. Там - вобще конь не валялся. И как всегда на тестах хорошо а в продуктиве
- падает.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959082
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Да можно и порядок и приоритет в принципе закодить.
Но препроцессинг ведь.
Заменяем код своими значками
@мойСуперКлючикСтрокаЗначок(....

Это - еще хуже.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959141
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Проблема не в аннотациях, что вы к ним привязались?

Очевидный факт упускаете, что проблема в том что реализация этих аннотаций не видна программисту, т.к. она делается на этапе инициализации контекста и создания проки классов.

Это - основная проблема. Т.к. документация не всегда понятна и полна в Спринге. Да и всегда удобно код почитать.

А тут - не получится.

Вот за это я оч. уважаю AST аннотации\трансформации - т.к. там можно подебажить и посмотреть что конкретно происходит.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959170
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ломбок это пародия на Груви.

А так я привык читать код библиотек которые использую.
Но в случае со Спрингом уже тоже свыкся...

Хотя давно могли также Intellij добавить поддержку просмотра gclib обработчиков аннотаций из кода приложения
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959232
Тут другое интересно. Насколько я помню, при разработке джавы один из лозунгов был что то вроде "как написано, так и работает". Под эту лавочку туда не стали добавлять плюсовые макросы, которые могут превратить код в адок. И даже псевдонимы типов не сделали...
А потом взяли и добавили рефлексию, аннотации, джава-агенты. В итоге получили тот же самый адок, только в профиль, и теперь все соревнуются, кто больше аннотаций изобретет и понавешает.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959235
Но самый перебор, это конечно не аннотации. Самый перебор - это когда поведение зависит от наличия той или иной зависимости без какой либо явной конфигурации. Вот где абсолютное зло.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959251
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ржавый гвоздь
Тут другое интересно. Насколько я помню, при разработке джавы один из лозунгов был что то вроде "как написано, так и работает". Под эту лавочку туда не стали добавлять плюсовые макросы, которые могут превратить код в адок. И даже псевдонимы типов не сделали...
А потом взяли и добавили рефлексию, аннотации, джава-агенты. В итоге получили тот же самый адок, только в профиль, и теперь все соревнуются, кто больше аннотаций изобретет и понавешает.

Типа рефлексия это плохо?:) А как вы без неё сделаете модульное приложение расширяемое?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959254
dakeiras

Типа рефлексия это плохо?:) А как вы без неё сделаете модульное приложение расширяемое?

Не всегда и не везде плохо. Но когда ее используют и где надо и где не надо - от нее больше вреда, чем пользы. Засилие аннотаций - типичный вредный пример, а какой нибудь сериализатор - вполне хороший.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959256
Что касается модульных приложений, тот тут в подавляющем большинстве случаев никакая рефлексия не нужна, достаточно возможности загрузить класс и работать с ним через интерфейс.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959261
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ржавый гвоздь
Что касается модульных приложений, тот тут в подавляющем большинстве случаев никакая рефлексия не нужна, достаточно возможности загрузить класс и работать с ним через интерфейс.

как вы загрузите класс по имени без рефлексии?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959268
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ржавый гвоздь
Вот где абсолютное зло.

просто уже ткни сосиской туда, где абсолютное добро, мы закроем ветку и просто уйдем все туда, где ништяки и нет макросов с рефлексией.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959280
dakeiras

как вы загрузите класс по имени без рефлексии?

Вот еще о терминах спорить не хватало. По моему, я предельно ясно пояснил, что именно имею в виду.
chpasha

просто уже ткни сосиской туда, где абсолютное добро

Понятия не имею. Но есть у меня подозрение, что добро должно коррелировать с количеством здравого смысла у разработчиков. У разрабов спринга он точно давно уже не ночевал.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959306
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,

dakeiras
как вы загрузите класс по имени без рефлексии?


Java SPI например.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959307
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ржавый гвоздь
Тут другое интересно. Насколько я помню, при разработке джавы один из лозунгов был что то вроде "как написано, так и работает". Под эту лавочку туда не стали добавлять плюсовые макросы, которые могут превратить код в адок. И даже псевдонимы типов не сделали...
А потом взяли и добавили рефлексию, аннотации, джава-агенты. В итоге получили тот же самый адок, только в профиль, и теперь все соревнуются, кто больше аннотаций изобретет и понавешает.

+1
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959313
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,
А че тебя рефлексия зацепила?
Самый простой ответ раширяемого приложения это REST.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959315
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton

Тоже самое про maven. Maven - делкаративен. Но нам чисто по человечески иногда важно чтобы
в фазе билда работал сначала этот плагин а потом этот. Хотя они декларированы как одно-ранговые.


В маевке это как раз таки детерминировано.
https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Plugins
When multiple executions are given that match a particular phase, they are executed in the order specified in the POM, with inherited executions running first.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959316
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Zzz79,
авторкак по мне петро ты немного путаешь)
без анотаций ты становишься конфигурастом- а с анотациями программистом-
Дак есть пример - 1Сники.
Они открывают конфигуратор и работают без new.
А ты мне доказываешь что тот кто new не знает программист)))))
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959330
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch
mayton

Тоже самое про maven. Maven - делкаративен. Но нам чисто по человечески иногда важно чтобы
в фазе билда работал сначала этот плагин а потом этот. Хотя они декларированы как одно-ранговые.


В маевке это как раз таки детерминировано.
https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Plugins
When multiple executions are given that match a particular phase, they are executed in the order specified in the POM, with inherited executions running first.

Да. Это типичное отклонение от декларативности. Вроде и декларативно. Но в то-же время
есть "процедура" или "рецепт" к выполнению.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959340
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch
dakeiras,

dakeiras
как вы загрузите класс по имени без рефлексии?


Java SPI например.

это древнее неудобное г. для Java SE.

Вы сами этим пользовались перед тем как советовать?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959345
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
dakeiras,
А че тебя рефлексия зацепила?
Самый простой ответ раширяемого приложения это REST.


Ну REST это да, модульно:) RPC ещё. Ведь рефлексия это же так медленно (нет).
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959352
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,

1) я не советовал, а отвечал на вопрос "как загрузить класс без рефлексии"
2) Да, пользовался, даже свои Service Provider писал

dakeiras
Ведь рефлексия это же так медленно (нет).

Видимо из-за того, что она такая быстрая (нет, она медленная) тот же Jackson кеширует информацию о типах...
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959356
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
PetroNotC Sharp
dakeiras,
А че тебя рефлексия зацепила?
Самый простой ответ раширяемого приложения это REST.


Ну REST это да, модульно:) RPC ещё. Ведь рефлексия это же так медленно (нет).

Зря иронизируете.
Вы просто связали рефлексию и модульность ПРИЛОЖЕНИЯ.
Это как связать болт и самолет.
Не связывается это в одно приложение осмысленное.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959358
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторНе связывается это в одно приложение предложение осмысленное.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959360
chpasha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Петро, пока тебя не было, на sql.ru редактирование постов завезли ;)
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959368
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
chpasha,
Давно меня не было)).
А вот цитирование выделенного в хроме смартфонном не работает))).
Sql.ru не догадалось с кнопки всплывающей в ГУИ продублировать команду на кнопку под постом Цитировать.
Ну а хром убирает кнопку от sql.ru команды.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959376
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Рефлексия и модульность это синонимы. Альтернатива рефлексии статический биндинг, но он не масштабируется.

Под рефлексией я подразумеваю в данном контексте Class.forName().newInstance.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959379
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Есть ещё одна альтернатива - run-time компиляция (Груви), она позволяет добиться модульности без использования рефлексии. Но это не всегда нужно, а по производительности одинаково (инстанциирование экземпляра класса).
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959380
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
Рефлексия и модульность это синонимы.
пруф есть? Вы меня удивили.
Рефлексия это уровень кода.
Модульность это АРХИТЕКТУРА.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959404
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp,

Ну а как иначе в приложении на Яве поддержать плагины (модули)?

Или Вы под модулями понимаете модули Maven/Gradle?
Так это не те модули :) Их неправильно назвали модулями, на самом деле это просто приложения сгруппированные в общую последовательность сборки. А не модули никакие конечно.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959411
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,
а что такое модули?
В дельфи же тоже есть рефлексия.
Это просто найти название метода и его вызвать в рантайме.
Но модульность (плагинообразность) делают совершенно по другому.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959412
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
dakeiras,
а что такое модули?
В дельфи же тоже есть рефлексия.
Это просто найти название метода и его вызвать в рантайме.
Но модульность (плагинообразность) делают совершенно по другому.


ну так я и спрашиваю, как сделать поддержку сторонних плагинов в приложении на Яве без рефлексии и статического биндинга?

Через jndi разве что? Но это усложняет довольно сильно.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959424
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
ну так я и спрашиваю, как сделать поддержку сторонних плагинов в приложении на Яве без рефлексии и статического биндинга?
В класспутя добавить или это слишком просто?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959452
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
dakeiras
ну так я и спрашиваю, как сделать поддержку сторонних плагинов в приложении на Яве без рефлексии и статического биндинга?
В класспутя добавить или это слишком просто?

и инстациировать как?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959458
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
ну так я и спрашиваю, как сделать поддержку сторонних плагинов в приложении на Яве без рефлексии и статического биндинга?

Можно целую тему создать. Тысячи решений.
1. Учитывая мейнстрим сейчас модуль приравнивается к сервису.
Заметь, слово микросервис я не люблю.
Поддержку в ИС дополнительно к своим 15-ти сервисам ещё воткнуть сервис по продаже авиабилетов нет проблем?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959476
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
и инстациировать как?
Ну интерфейс-то вы знаете?
Конкретную реализацию умеет выбирать SPI.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959482
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вот. Приходим к @Service и context.getBean("beanName").

Что является альтернативой рефлексии при использовании Спринга.

Хотя я одинаково часто использую и context.getAutowireBeanCapableFactory().autowireBean(myPojo) где myPojo инстанциируется через рефлексию, но имеет @Autowired поля.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959483
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
dakeiras,
а что такое модули?
В дельфи же тоже есть рефлексия.
Это просто найти название метода и его вызвать в рантайме.
Но модульность (плагинообразность) делают совершенно по другому.

Я-бы различал модули maven-based проекта. Они полезны когда например
есть дистрибуция приложения частями. И вы можете поставлять например
изменившиеся DAO которые зависят от изменившися SOAP wsdl протоколов.

Отдельно - стоит различать OSGI bundles. Которые очень любит Deuche Bank.
Да и прочие европейские банки. Любой пустяк в них заворачивают.

И отдельно - модули Java-9 . Все таки они - технологически другие.

Тоесть спор о модулях - это сложный спор. И его надо начинать в контексте хотя-бы
общего понимания. Я вот например видел много проектов с модулями maven/gradle
но я не уверен что модули gradle - это тоже самое.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959486
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
dakeiras
и инстациировать как?
Ну интерфейс-то вы знаете?
Конкретную реализацию умеет выбирать SPI.


А когда много реализаций? По имени он же не умеет выбирать, да?

Т.е. когда выбранный плагин задаётся в конфиге, это уже не работает.

Пример: плагин трансформации веб сервиса из REST в SOAP и обратно по URL выбирается.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959494
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
вот.
Что "вот"?
Есть разные способы получить более-менее произвольную реализацию, доступную в класспути и без всякой рефлексии.
Загрузка-то ленивая. Можно сначала подложить нужный class-файл "из большого списка", а уже потом обратиться к нему. Можно динамически скомпилировать нужную реализацию.
Можно, наверное, и через j.l.invoke работать (Java 7+).
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959498
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
Пример: плагин трансформации веб сервиса из REST в SOAP и обратно по URL выбирается.
Передайте строку в конструктор и возвращайте нужный из набора (приватных) вложенных классов - общий интерфейс и столько реализаций, сколько требуется.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959516
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
вот. Приходим к @Service и context.getBean("beanName").

Что является альтернативой рефлексии при использовании Спринга.

Кодогенерация.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959522
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
dakeiras
Пример: плагин трансформации веб сервиса из REST в SOAP и обратно по URL выбирается.
Передайте строку в конструктор и возвращайте нужный из набора (приватных) вложенных классов - общий интерфейс и столько реализаций, сколько требуется.


А откуда вы знаете как будет называться произвольная реализация заранее?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959524
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
А откуда вы знаете как будет называться произвольная реализация заранее?
А зачем вам знать, как называется то, что ещё не существует?
Хотя, кодогенерация и эту проблему позволяет порешать.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959525
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
dakeiras
вот.
Что "вот"?
Есть разные способы получить более-менее произвольную реализацию, доступную в класспути и без всякой рефлексии.
Загрузка-то ленивая. Можно сначала подложить нужный class-файл "из большого списка", а уже потом обратиться к нему. Можно динамически скомпилировать нужную реализацию.
Можно, наверное, и через j.l.invoke работать (Java 7+).

Короче нет альтернатив рефлексии :)
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959526
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Basil A. Sidorov
dakeiras
А откуда вы знаете как будет называться произвольная реализация заранее?
А зачем вам знать, как называется то, что ещё не существует?
Хотя, кодогенерация и эту проблему позволяет порешать.


В смысле зачем?? У вас есть система плагинов, вы их загружаете по конфигу.

Ни названия плагинов ни конфиг заранее не известны.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959527
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
Короче нет альтернатив рефлексии :)
Есть. Нет поддержки со стороны средств разработки и сборки.
Ну так это не достоинство рефлексии, а недостаток инструментария.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959549
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,
В плагинах все натыкается на бизнес логику того чего еще не существует.
Ну будет у тебя меню с п.п. Сервисы где 25 пунктов это запуск а ля dll в папке /plugins/
Информационная система все равно Г.
Если это не фотошоп с плагинами.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959557
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри но вы просто оправдываете свою предвзятость по отношению к рефлексии, уши этого тянутся с 2005 года когда она тормозила и была плохой практикой, что уже давно не так.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959562
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Обычно в инфо-безопасности плагин - это настоящая дыра для проникновения троянов и всего прочего.

Тоесть просто обеспечить вызов плагина это еще пол-дела. А вот проверить что он не содержит угроз.
Как минимум проверить его Digital Signature и сконфигурить окружение Security Manager чтоб плагин
работал в коробочке с минимумом привилегий. Вот это челендж.

А рефлексия - это так. Мелочи.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959571
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
вы просто оправдываете свою предвзятость по отношению к рефлексии
А вы - своё нежелание даже знать о существовании (условно) новых возможностей.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959584
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Обычно в инфо-безопасности плагин - это настоящая дыра для проникновения троянов и всего прочего.

Тоесть просто обеспечить вызов плагина это еще пол-дела. А вот проверить что он не содержит угроз.
Как минимум проверить его Digital Signature и сконфигурить окружение Security Manager чтоб плагин
работал в коробочке с минимумом привилегий. Вот это челендж.

А рефлексия - это так. Мелочи.

Пример: телеграм чат бот с готовым движком. Вы его добавляете как зависимость (либо скачиваете исполняемый jar), он уже содержит всё необходимое включая Spring Boot и готов к запуску.

Далее добавляете в него команды (типа /mycommand в чате с ботом) в виде классов (либо копируя плагины в ./plugins).

Имя класса=имя команды бота.
Бот заранее не знает какие будут в нём команды.

Плагины разрабатываете Вы сами.
Какая тут дыра в безопасности? Не нужны никакие подписи. Вы же себе доверяете сами, правильно?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959591
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,
Какие детские примеры с чатами и чатиками.
Давай корпоратив.
Мы же в java.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959593
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras, ты вообще мою мысль не понял. Кто сказал что ты сам плагины делаешь?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959607
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
так а кто сказал что стороние плагины?

Ок, не нравится пример с чат ботом, вот другой пример: ETL. Допустим вы не используете Talend, а у вас какой-то простой свой ETL.
Плагин на вход - плагин на выход.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959608
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И кстати чат бот совсем не детский пример. Чат бот это такой же фронтэнд канал как и мобильное приложение.

И когда чат бот для работы с финансами (карты, трансферы средств) - это как раз отличный пример энтерпрайза. С продуманной экосистемой, архитектурой и безопасностью.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959612
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну ты понимешь что плагины - это инжекция чужого кода в твоё приложение.

И то что ты тестил своё приложение тыщу раз вовсе не отменяет тот факт что любой кодер шутки
ради сможет удалить все файлы твоего /home/{userName} просто так.

Но если глубина моих глубин тебе непонятна - то ладно забей. Это я так... отклонился в сторону.

Это кстати тоже с рефлексией и класслоадером тесно связано. Уж коли на то пошло.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959627
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras

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

Мы таких не знаем. Рассказывай.
Мы пару часов послушаем. Вникнем.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959734
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
dakeiras

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

Мы таких не знаем. Рассказывай.
Мы пару часов послушаем. Вникнем.

ну я делал пару таких, один на проде уже года 2, другой для стартапа.

Чат бот с поддержкой step up authorization, SMS/Email OTP, , плагинов. Могу если интересно выложить исходники движка.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959742
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ай, да что уж там томить, вот он, великий и ужасный:

https://github.com/INFINITE-TECHNOLOGY/DAVID

Работает на проде в фин. тех банке несколько лет.

Ну что, поцоны ваще ребята, да? :)

А если серьёзно, в мире Телеграм ботов это остров надежды. Советую юзать это, если делаете бота своего.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959775
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,
Могу по статистике тебе сказать.
Что в гитхаб заглянул один мембер из всех.
Рассказывать надо, а не ссылки кидать.
Или ссылку на Статью.
Презентовать решение).
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959778
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ноль форков. Никто себе не сделал копию для изменений. И ноль звездочек. Отношение - так себе. Нейтральное.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959785
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Вот представь, сидит босс.
Тут приходит чел и говорит что нам нужен телеграмм боты.
Превый вопрос: "это что такое? Мессенджер что ли"?
"Зачем нам мессенджер "?
....
Нужно на пальцах объяснить))
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959790
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton
Ноль форков. Никто себе не сделал копию для изменений. И ноль звездочек. Отношение - так себе. Нейтральное.


Я впервый раз запостил тут, погодите. Сейчас напишу в группу telegram bots, там иранцы офигеют и поставят звёздочки:)

Но сначала хотел бы улучшить документацию, и возможно пока выпилить Ascend из бота, а то неподготовленные умы оплавятся от такого :)
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959795
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
mayton,
Вот представь, сидит босс.
Тут приходит чел и говорит что нам нужен телеграмм боты.
Превый вопрос: "это что такое? Мессенджер что ли"?
"Зачем нам мессенджер "?
....
Нужно на пальцах объяснить))

Я верю в способность босса нюхом чувствовать рынок. А если его это не зацепит
в первые 30 секунд - то идея тухляк. И ее можно отложить еще на 2-3 года.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959796
PetroNotC Sharp
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mayton,
Именно. У чела есть 30 сек чтобы босс въехал в предложение.
Даже если взять СССР, то это документ Концепция на 1 лист А4 в ворде.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39959798
Фотография mayton
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
mayton
Ноль форков. Никто себе не сделал копию для изменений. И ноль звездочек. Отношение - так себе. Нейтральное.


Я впервый раз запостил тут, погодите. Сейчас напишу в группу telegram bots, там иранцы офигеют и поставят звёздочки:)

Но сначала хотел бы улучшить документацию, и возможно пока выпилить Ascend из бота, а то неподготовленные умы оплавятся от такого :)

Зачем?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960490
andreykaT
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
По сабжу - аннотации спринга = перебор.
Прогеру трудно выбирать, где они нужны и где не нужны.
Так как аннотирование превратилось в программирование.

юзай плей. там почти нет аннотаций. только от гуиса.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960564
Basil A. Sidorov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PetroNotC Sharp
Даже если взять СССР, то это документ Концепция на 1 лист А4 в ворде.
В СССР не было не только "секса", но "ворда".

P.S.
Нет, текстовые редакторы были.
Коллега, помнится, печатал "рассылку" (шаблон плюс список) для многих человек на ДВК-4 плюс "Роботрон". Редактор, вроде, "Мир" назывался. Не помню точно.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960610
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
Ай, да что уж там томить, вот он, великий и ужасный:

https://github.com/INFINITE-TECHNOLOGY/DAVID

Работает на проде в фин. тех банке несколько лет.

Ну что, поцоны ваще ребята, да? :)

А если серьёзно, в мире Телеграм ботов это остров надежды. Советую юзать это, если делаете бота своего.


Зачем? Что даст? Что ускорит при разработке?

dakeiras@SpringBootApplication(scanBasePackages = [" io.infinite.ascend ", "io.infinite.david"])
То есть Spring Boot Autoconfiguration вы тоже не освоили.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960626
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторТо есть Spring Boot Autoconfiguration вы тоже не освоили.
Что такое Spring Boot Autoconfiguration и чем оно отличается от обычного @EnableAutoConfiguration?

Помоему это Вы не освоили, либо недопоняли что-то.

авторЗачем? Что даст? Что ускорит при разработке?

Даст готовую основу с Spring Boot и многопоточную модель взаимодействия с пользователями (обработка ввода-вывода) + сессию пользователя. Т.е. весь движок чат бота.
На выходе это даст качественный UX.

Соотвественно останется только реализовать конкретные команды бота.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960641
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
авторТо есть Spring Boot Autoconfiguration вы тоже не освоили.

Что такое Spring Boot Autoconfiguration и чем оно отличается от обычного @EnableAutoConfiguration?


Тем, что в своем модуле, вы делаете конфигурацию "по умолчанию".
Которая позволяет, при подключении вашего модуля к проекту "из коробки" получить уже настроенное поведение.
Без использования аннотаций, а только указаний специфичных для вашего модуля настроек в "properties" файле.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960651
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ascend это JAR зависимость. Я вообще не понимаю о чём вы говорите.

Как ещё добавить в контекст бины из JAR зависимости?

Наверное если добавлена такая аннотация, то не просто так?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960657
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,

dakeirasДаст готовую основу с Spring Boot и многопоточную модель взаимодействия с пользователями (обработка ввода-вывода) + сессию пользователя. Т.е. весь движок чат бота.
На выходе это даст качественный UX.

Что из этого мне не даст Спринг + полдня разбора документации Telegram? :)
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960660
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras

Как ещё добавить в контекст бины из JAR зависимости?


Так и быть:
https://lmgtfy.com/?q=spring boot custom auto configuration
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960663
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch
dakeiras,

dakeirasДаст готовую основу с Spring Boot и многопоточную модель взаимодействия с пользователями (обработка ввода-вывода) + сессию пользователя. Т.е. весь движок чат бота.
На выходе это даст качественный UX.

Что из этого мне не даст Спринг + полдня разбора документации Telegram? :)

Вам ничего не даст, т.к. вы эксперт по Java и Spring.

А вот сидя в группе в Телеге по "telegram chat bots" (Java реализация Telegram Chat Bot API) - там сидят гопники и иранцы, которые не могут скомпилить приложение даже.

Для них добавить БД проблема, тем более спринг. Поэтому сделал для них. Хотя ещё не давал им ссылку - надо сначала сделать документацию.

+ готов к деплою на хероку (с этим сложности почему-то у некоторых людей возникают)
+ многопоточная модель - позволяет интерактивное выполнение с пользовательском вводом в рамках 1 метода - этого нет в библиотеке telegram chat bots
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960665
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
т.к. чат ботов в основном пишут чтобы на биткоинах кого-то нагреть.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960672
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
т.к. чат ботов в основном пишут чтобы на биткоинах кого-то нагреть.


Хорошо, https://azure.microsoft.com/en-us/services/bot-service/#getting-started - в чем ваше преимущество?
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960674
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch
dakeiras

Как ещё добавить в контекст бины из JAR зависимости?


Так и быть:
https://lmgtfy.com/?q=spring boot custom auto configuration


https://docs.spring.io/spring-boot/docs/2.0.0.M5/reference/html/boot-features-developing-auto-configuration.html

Это? Нет не знал. Я первый раз делаю Spring Boot библиотеку.
Далеко не всегда это требуется.

Посмотрю, добавлю в Ascend. Там много чего можно добавить из того же Keycloak Spring.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960698
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch
dakeiras
т.к. чат ботов в основном пишут чтобы на биткоинах кого-то нагреть.


Хорошо, https://azure.microsoft.com/en-us/services/bot-service/#getting-started - в чем ваше преимущество?


Идея отличная. Но их Java API - это страх божий.

Посмотрите:
https://github.com/microsoft/botbuilder-java/tree/master/samples/45.state-management/src/main/java/com/microsoft/bot/sample/statemanagement

Всё на флагах работает:

https://github.com/microsoft/botbuilder-java/blob/master/samples/45.state-management/src/main/java/com/microsoft/bot/sample/statemanagement/ConversationData.java

Код: java
1.
private boolean promptedUserForName;



Посмотрите как реализованы команды в Дэвиде.
https://github.com/INFINITE-TECHNOLOGY/DAVID/blob/master/david-sdk/src/main/groovy/io/infinite/david/abilities/History.groovy

Код: java
1.
String tranCount = waitForInput(15)



Всё в 1 файле, интерактивно с пользовательским вводом, лаконично.

Microsoft, что ты сделал?...:(

Идея и возможности были отличные, но код кошмар какой-то получается.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960718
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960786
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,

Так а зачем там на java писать? Если индусы или для кого вы там API делаете настолько не умеют java - пусть пишут на C# или питоне)
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960789
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну наверное да.. Надеюсь что с C# там получше, хотя тоже терзают сомнения.

Ну и Microsoft как обычно не может по нормальному сделать, сам уровень абстракции Bot API как я понимаю только черещ шину работает, через Azure.

Т.е. нельзя без интеграции с Azure всё это развернуть, как я понял (хотя сам бот можно отдельно - но он будет ломиться в Azure).
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960799
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras,

...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960812
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch
dakeiras,



Да, я это и написал. Но ломиться это будет всё равно в Азур. Без Азура не будет работать.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960861
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
Lelouch
dakeiras,



Да, я это и написал. Но ломиться это будет всё равно в Азур. Без Азура не будет работать.


С чего вы взяли?))
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960878
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch
dakeiras
пропущено...


Да, я это и написал. Но ломиться это будет всё равно в Азур. Без Азура не будет работать.


С чего вы взяли?))


https://github.com/microsoft/botframework-sdk#channels-and-adapters
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960880
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
+ тот факт что я не вижу standalone Telegram Bot API Implementation от Microsoft, которым можно было бы воспользоваться отдельно.

А то может я бы поглядел на него вместо библиотеки "Telegram Chat Bots" - к ней есть претензии...
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960897
Lelouch
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dakeiras
Lelouch
пропущено...


С чего вы взяли?))


https://github.com/microsoft/botframework-sdk#channels-and-adapters


Так платить то за это не придется. Если я правильно понимаю telegram относится к стандартным каналам, так что там нет лимита бесплатных сообщений.
...
Рейтинг: 0 / 0
Аннотации спринга, по-моему перебор, не? :)
    #39960901
dakeiras
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Lelouch


Так платить то за это не придется. Если я правильно понимаю telegram относится к стандартным каналам, так что там нет лимита бесплатных сообщений.


Вроде не придётся, тоже так понял.
...
Рейтинг: 0 / 0
131 сообщений из 131, показаны все 6 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Аннотации спринга, по-моему перебор, не? :)
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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