Intereting Posts
Mobile Vison API не обнаруживает QR-код Kotlin – как найти количество повторяющихся значений в списке? Реализация поиска, который подталкивает результаты к списку, как только они станут доступны, используя rxJava Написание JSP в kotlin с maven – Ошибка создания класса сервлета, ClassNotFoundException статический эквивалент в Android для kotlin, чтобы избежать утечек памяти обработчика Как вернуть интерфейс, например, javawith Kotlin Разница между ArrayList <String> () и mutableListOf <String> () в Котлине В Котлине можно изменить делегирование в Runtime? Невозможно использовать string.contains () в выражении kotlin `when` создать 2 одинаковых класса разных подтипов Охват кода студии Android, не показывающий классов Kotlin Можно ли передать ссылку на i-й элемент примитивного массива? Список объектов, реализующих интерфейс Раздвижное окно RxJava Тип функции Kotlin вместо функционального интерфейса лямбда

Объяснение @Configuration @AutoConfigureAfter с Kotlin

Я разработчик python и абсолютно новый для Spring boot и gradle. Однако я отлично разбираюсь в java и стараюсь изо всех сил с Kotlin. Я пытался запустить приложение Spring Boot (Kotlin) на localhost. Gradle build работает отлично, за исключением этой линии

@Configuration @AutoConfigureAfter(DispatcherServletAutoConfiguration::class) open class Assembly : WebMvcAutoConfiguration.WebMvcAutoConfigurationAdapter() { . . 

Нет значения для параметра resourceProperties, mvcProperties, beanFactory ….

Я понимаю, что конструктор WebMvcAutoConfigurationAdapter ожидает этих параметров, но должен ли он не передаваться автоматически через аннотацию @Configuration и @AutoConfigureAfter .

Поскольку я абсолютно не знаком с весенней загрузкой, я понятия не имею, что происходит не так и где. Поскольку этот код уже запущен в производстве, я действительно запутался в том, не хватает ли я какой-либо локальной конфигурации или confle conf или что-то еще.

Solutions Collecting From Web of "Объяснение @Configuration @AutoConfigureAfter с Kotlin"

WebMvcAutoConfigurationAdapter не предназначен для непосредственного использования кодом приложения. Вместо этого вы должны расширять WebMvcConfigurerAdapter .

Я подозреваю, что вы обновились до Spring Boot 1.4. В этом выпуске WebMvcAutoConfigurationAdapter изменен с использованием WebMvcAutoConfigurationAdapter поля в инжектор конструктора. Это означает, что подклассы теперь должны вызывать супер-конструктор, проходящий в требуемых аргументах.

@AutoConfigureAfter управляет только упорядочением классов автоматической конфигурации и не влияет на инъекцию зависимостей. Это также влияет только на классы автоматической настройки, поэтому мы ничего не будем делать в вашем классе Assembly .

@Configuration самом деле не влияет на инъекцию зависимости. У классов конфигурации могут быть введены зависимости, либо в поля, аннотированные с помощью @Autowired либо в их конструктор. Ранее этот конструктор также должен был быть аннотирован с помощью @Autowired но с Spring Framework 4.3 (Spring Boot 1.4) аннотация не нужна, если класс имеет один конструктор.