Intereting Posts
Kotlin with-statement как выражение Не удалось проанализировать: org.jetbrains.kotlin.kapt3.diagnostic.KaptError: ошибка при обработке аннотации Дооснащение + десериализация GSON + отношение к царству Общие параметры Любой из kotlin преобразуется в подстановочные знаки (?) воспроизведение любого встроенного видео в веб-браузере в Android с намерением Вызовите конструктор по умолчанию из другого в Kotlin Файл spring-configuration-metadata.json не генерируется в IntelliJ Idea для класса Kotlin @ConfigurationProperties Сравнение ссылок и стоимости Как скомпилировать тестовый код модуля Kotlin, который использует hamcrest 'is' Неопределенная ссылка: DaoSession с использованием greendao и kotlin Как использовать обертки вызова для Intent Anko? Почему я должен возвращать Unit.INSTANCE при реализации на Java функции Kotlin, которая возвращает Unit? Как произвольно генерировать строку и цвет, которые произвольно строятся в студии Android Сеттер для поля удаляется по типу проекции Что значит ! означает значение возврата Котлина?

Объяснение @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 или что-то еще.

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

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

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

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