Что ж, вы пытаетесь сделать что-то, что не подходит для весенней загрузки в этой форме.
Я предлагаю немного изменить требование:
Вместо попытки доступа базу данных в пользовательском условии, создайте пользовательский источник конфигурации и загрузите свойство из базы данных в среду, чтобы при последующей оценке условий во время процесса запуска свойство со связанным значением (ранее разрешалось из базы данных) уже доступен.
Примеры следующего такого подхода: - конфигурация Spring boot cloud, которая считывает свойства конфигурации из «удаленной» службы конфигурации (через REST);
Этот подход гораздо более дружественный к весне, и также может спасти приложение от многократного вызова базы данных (что, если у вас есть 100 bean-компонентов с этим пользовательским условным условием) - будет ли оно выполнять 100 запросов?
Теперь это, вероятно, будет означать, что вам не понадобится пользовательское условие - возможно, оно будет @Condition
для свойства.
Другое предостережение: вы не сможете использовать JPA / Spring Data для загрузки этого свойства, вероятно, вам придется go с простым JDB C здесь.