반응형
Kotlin에서 @Autowired와 같은 스프링 주석을 사용하는 방법은 무엇입니까?
Kotlin에서 다음과 같은 작업을 수행 할 수 있습니까?
@Autowired
internal var mongoTemplate: MongoTemplate
@Autowired
internal var solrClient: SolrClient
이것이 가능하다는 것을 확신하기 위해 몇 가지 옵션이 있으며 주석이 달린 생성자를 제안하지만 lateinit도 작동하며 경우에 따라 유용 할 수 있습니다.
Lateinit :
@Component
class YourBean {
@Autowired
lateinit var mongoTemplate: MongoTemplate
@Autowired
lateinit var solrClient: SolrClient
}
건설자:
@Component
class YourBean @Autowired constructor(
private val mongoTemplate: MongoTemplate,
private val solrClient: SolrClient
) {
// code
}
Spring 4.3을 사용하는 생성자 :
@Component
class YourBean(
private val mongoTemplate: MongoTemplate,
private val solrClient: SolrClient
) {
// code
}
생성자 버전은 빈 생성 시간과 삽입 된 모든 필드에서 모든 종속성을 확인합니다. 반면에 lateinit 삽입 된 필드는 var 일 수 있으며 런타임 공간이 거의 없습니다. 그리고 contructor로 클래스를 테스트하기 위해 리플렉션이 필요하지 않습니다.
연결:
예, 자바 주석은 대부분 자바 에서처럼 Kotlin에서 지원됩니다. 한 가지 문제는 기본 생성자에 대한 주석에 명시적인 'constructor'키워드가 필요하다는 것입니다.
에서 https://kotlinlang.org/docs/reference/annotations.html
클래스의 기본 생성자에 주석을 추가해야하는 경우 생성자 선언에 생성자 키워드를 추가하고 그 앞에 주석을 추가해야합니다.
class Foo @Inject constructor(dependency: MyDependency) {
// ...
}
생성자를 통해 종속성을 자동으로 연결할 수도 있습니다. @Configuration, @Component, @Service
etc로 종속성에 주석을다는 것을 잊지 마십시오.
import org.springframework.stereotype.Component
@Component
class Foo (private val dependency: MyDependency) {
//...
}
참조 URL : https://stackoverflow.com/questions/35479631/how-to-use-spring-annotations-like-autowired-in-kotlin
반응형
'Programing' 카테고리의 다른 글
사용자 지정 헤더와 함께 Alamofire를 사용하는 방법 (0) | 2020.12.29 |
---|---|
emacs를 다시 시작하지 않고 편집 한 후 .spacemacs 파일을 어떻게 다시로드 할 수 있습니까? (0) | 2020.12.29 |
오류 메시지“응용 프로그램을 설치하거나 실행할 수 없습니다. (0) | 2020.12.29 |
설치된 MS-Office 버전을 어떻게 감지합니까? (0) | 2020.12.29 |
자바 스크립트 유형 배열 및 엔디안 (0) | 2020.12.29 |