Intereting Posts
Адаптер привязки Android не работает для CustomView Переопределение одной и той же подписи из разных закладок Android-видеомагнитофон: не удалось получить поверхность LMAX Disruptor с Kotlin: нельзя использовать лямбда? Могу ли я использовать kotlin.reflect, чтобы получить значение поля Android OutOfMemoryError: не удалось выделить выделение байтов 57993496 с 16764448 бесплатными байтами Изменения в Android Studio 3.0 Kotlin не отражены в сборке Работа для администратора устройства api не имеет собственного профиля Запуск эспрессо-теста несколько раз Как добавить поддержку градиента для проекта TestNG Kotlin? kotlin обратное булево безопасное литье Канал выхода из вентилятора / вентилятора в закрытии Android – Невозможно добавить банку, созданную в java8 с kotlin Почему отображается только первая строка с помощью утилиты Recyclerview gridlayoutmanager Создание ArrayList уникальных элементов в ArrayList

Объяснение @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) аннотация не нужна, если класс имеет один конструктор.