본문 바로가기

전체 글

(26)
Spring Bean 라이프사이클 Spring Bean 라이프사이클이란 Spring IoC 컨테이너가 Bean 객체를 생성하고, 의존성을 주입하고, 초기화한 뒤 사용하다가, 마지막에 정리하는 과정을 말한다.기본 singleton Bean은 아래 순서로 진행된다. 다만 @Lazy, prototype scope, request scope처럼 Bean 설정에 따라 생성 시점이나 소멸 시점은 달라질 수 있다.Spring IoC 컨테이너 생성Spring Bean 생성 및 의존성 주입초기화 메소드사용소멸 메소드Spring IoC 컨테이너 종료여기서 우리는 2,3,5번을 디테일하게 확인해보자.Spring Bean 생성 및 의존성 주입Spring IoC 컨테이너가 생성된 후에 먼저 BeanDefinition을 등록한다. BeanDefinition이란 ..
Spring IoC IoC란?Spring은 기본적으로 IoC 개념을 사용한다.IoC(Inversion of Control)는 객체의 생성과 의존 관계 관리의 제어권이 개발자 코드가 아니라 외부 컨테이너로 넘어가는 것을 의미한다. DI(Dependency Injection)는 이러한 IoC를 구현하는 대표적인 방법으로, 객체가 사용할 의존 객체를 직접 생성하지 않고 외부에서 주입받는 방식을 말한다.bookController와 bookService가 있다고 해보자. IoC를 사용하지 않았을 때에는 bookController에서 bookService를 호출하기 때문에 bookController에서 bookService 객체를 생성해서 사용하게 된다.class BookController { fun reserveBook() {..
Task 'prepareKotlinBuildScriptModel' not found in project 프로젝트를 하다가 아래와 같은 문제를 만난 적이 있다.Task 'prepareKotlinBuildScriptModel' not found in project ':api'이 문제에 대해 원인과 해결 방법을 찾아본 결과, 다양한 원인과 그에 따른 해결 방법이 있지만 내가 겪은 케이스에 대한 원인과 해결 과정을 기록으로 남기려고 한다.상황프로젝트를 하다가 멀티모듈로 전환하는 단계였고, api 모듈을 추가했다.CLI에서 ./gradlew api:build는 정상 동작했지만, IntelliJ에서 Gradle 프로젝트를 동기화하는 과정에서 해당 에러가 발생했다.prepareKotlinBuildScriptModel Task라는 것은 무엇일까?prepareKotlinBuildScriptModel은 IDE가 Kotlin..