스프링 컨텍스트는 프레임워크가 관리할 모든 객체 인스턴스를 추가하는 앱의 메모리 공간이라고 할 수 있다.
먼저 Bear 타입의 객체와 스프링 컨텍스트를 따로 만드는 걸로 시작한다. 처음에는 컨텍스트가 비어있고, 이후 Bear 인스턴스를 컨텍스트로 이동하여 스프링에 인스턴스를 관리하라고 알려준다.
책의 자바 코드를 코틀린으로 바꿔가며 실습했다. 자바 코드도 따라 적긴했는데, 책에서는 앵무새로 하고 난 곰으로 했다.
class Bear {
var name: String? = null
}
class Main {
//Bear 클래스 인스턴스 생성하기
fun main(args: Array<String>) {
var b = Bear()
}
}
SpringBootApplication에 main 메서드가 있는데, 필자는 스프링을 위주로 설명해서 이렇게 만든 것 같기도 하다. 난 스프링부트 프로젝트를 만들어서 인텔리제이 환경에서 실습
@SpringBootApplication
class SpringKotlinApplication
fun main(args: Array<String>) {
runApplication<SpringKotlinApplication>(*args)
//인스턴스 생성
var context = AnnotationConfigApplicationContext()
var b = Bear()
}
AnnotationConfigApplicationContext
로 스프링 컨텍스트 인스턴스를 생성한다.의존성 추가
이제 컨텍스트 밖에 있는 곰 객체를 컨텍스트 안으로 집어넣어야 한다.
@Configuration
이 있는 프로젝트 구성 클래스 정의하기