Intereting Posts
gradle не может скомпилировать API google places Прикрепление, чтобы заменить вектор, который можно вырезать с помощью изображения с камеры, и растягиваемый растягивается за изображение? Дезертициализация поля, которое может быть одним из двух типов данных с использованием Moshi Kotlin Bytecode – Как анализировать в IntelliJ IDEA? Проблема Android в выборе и отмене выбора элементов в адаптере kotlin? Невозможно добавить фрагменты с помощью функции расширения Kotlin Развитие библиотеки. Использование данных из внешнего источника Переключающие наблюдения Расширение общего класса в Котлине Kotlin – Как сделать onCompleteListener для получения данных из Firestore? Ошибка встроенной функции компилятора Kotlin, не совсем уверенная, что происходит Котлин – вторичный конструктор, который отличается одним аргументом ojAlgo – Выражение переменных как границ в оптимизации? Анимация не работает при сохранении в базе данных? Разбор json со сломанным удаленным API

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