Kann man in Kotlin so etwas wie folgen?wie man Frühlingsanmerkungen wie @Autowired in kotlin benutzt?
@Autowired
internal var mongoTemplate: MongoTemplate
@Autowired
internal var solrClient: SolrClient
Kann man in Kotlin so etwas wie folgen?wie man Frühlingsanmerkungen wie @Autowired in kotlin benutzt?
@Autowired
internal var mongoTemplate: MongoTemplate
@Autowired
internal var solrClient: SolrClient
Für sicher, dass dies möglich ist, haben Sie einige Optionen, schlage ich vor, kommentierte Konstruktor, aber lateinit auch funktioniert, und vielleicht in einigen Fällen nützlich:
Lateinit:
@Component
class YourBean {
@Autowired
lateinit var mongoTemplate: MongoTemplate
@Autowired
lateinit var solrClient: SolrClient
}
Constructor:
@Component
class YourBean @Autowired constructor(
private val mongoTemplate: MongoTemplate,
private val solrClient: SolrClient
) {
// code
}
Constructor mit Frühling 4.3:
@Component
class YourBean(
private val mongoTemplate: MongoTemplate,
private val solrClient: SolrClient
) {
// code
}
Constructor Versionsprüfung alle Abhängigkeiten auf Bohnenerstellungszeit und alle injizierten Felder - val, andererseits können spät injizierte Felder sein nur var, und haben wenig Laufzeit Fußabdruck. Und um die Klasse mit dem Konstruktor zu testen, braucht man keine Reflexion.
Links:
Ja, Java-Annotationen werden in Kotlin meist wie in Java unterstützt. Ein Gotcha ist Anmerkungen auf dem primären Konstruktor erfordert die explizite ‚Konstruktor‘ Stichwort:
Von https://kotlinlang.org/docs/reference/annotations.html
Wenn Sie den primären Konstruktor einer Klasse zu annotieren müssen, müssen Sie den Konstruktor Schlüsselwort der hinzufügen Konstruktor Erklärung, und fügen Sie die Anmerkungen, bevor es:
class Foo @Inject constructor(dependency: MyDependency) {
// ...
}
Haben Sie versucht? Und um ein bisschen konstruktiver zu sein ... es gibt ein komplettes [Spring Boot Template] (https://kotlinglang.org/docs/tutorials/spring-boot-restful.html), die Antwort ist ganz sicher "Ja". – mabi
@mabi danke für den Tutorial-Link :) – eendroroy