Как использовать сеттерную инъекцию с Kotlin и Spring? - PullRequest
0 голосов
/ 03 декабря 2018

В настоящее время я пытаюсь выяснить, как использовать сеттерную инъекцию Spring с Kotlin.Я не могу использовать инжектор конструктора для этого, потому что Бин может быть нулевым, и я не хочу использовать инжекцию поля, потому что это худшее.Очевидный способ записи

var x : Any? = null
    @Autowired
    set(value) {
        x = value
    }

не может работать, потому что это приведет к циклическому вызову.Итак, как я могу автоматически подключить элемент, используя инъекцию сеттера?

1 Ответ

0 голосов
/ 03 декабря 2018

Решение для этого немного сложно найти просто потому, что я до сих пор не написал сеттер для Kotlin.Проблема в том, что можно легко спутать свойство с полем , которое также генерируется компилятором.

Таким образом, правильный код

var x : Any? = null
    @Autowired(required = false)
    set(value) {
        field = value
    }

required = false Между прочим, необходимо сделать инъекцию необязательной.

...