Czy można zrobić coś takiego w Kotlin?jak korzystać z adnotacji wiosennych takich jak @Autowired in kotlin?
@Autowired
internal var mongoTemplate: MongoTemplate
@Autowired
internal var solrClient: SolrClient
Czy można zrobić coś takiego w Kotlin?jak korzystać z adnotacji wiosennych takich jak @Autowired in kotlin?
@Autowired
internal var mongoTemplate: MongoTemplate
@Autowired
internal var solrClient: SolrClient
Na pewno jest to możliwe, masz kilka opcji, proponuję uwagami konstruktora, ale lateinit działa również, a może przydatne w niektórych przypadkach:
Lateinit:
@Component
class YourBean {
@Autowired
lateinit var mongoTemplate: MongoTemplate
@Autowired
lateinit var solrClient: SolrClient
}
Konstruktor:
@Component
class YourBean @Autowired constructor(
private val mongoTemplate: MongoTemplate,
private val solrClient: SolrClient
) {
// code
}
Konstruktor z wiosny 4.3:
@Component
class YourBean(
private val mongoTemplate: MongoTemplate,
private val solrClient: SolrClient
) {
// code
}
Konstruktor wersja sprawdzić wszystkie zależności w czas tworzenia fasoli i wszystkie wstrzyknięte pola - val, z drugiej strony mogą być wstrzykiwane późne pola tylko var i ma mały ślad czasu działania. Aby przetestować klasę z contructor, nie potrzebujesz refleksji.
Linki:
Tak, adnotacje java są obsługiwane w Kotlin głównie w Javie. Jeden haczyka jest adnotacje na podstawowym konstruktora wymaga wyraźnej „konstruktora” Słowo kluczowe:
Od https://kotlinlang.org/docs/reference/annotations.html
Jeśli trzeba opisywać główny konstruktor klasy, trzeba dodać słowo kluczowe konstruktora do deklaracja konstruktora i dodać adnotacje przed nim:
class Foo @Inject constructor(dependency: MyDependency) {
// ...
}
próbowałeś? I być nieco bardziej konstruktywnym ... istnieje cały szablon [Spring Boot] (https://kotlinlang.org/docs/tutorials/spring-boot-restful.html), odpowiedź z pewnością brzmi "tak". – mabi
@mabi dziękuję za tutorial link :) – eendroroy