본문 바로가기

spring53

Bean 객체의 생성과 소멸 스프링 컨테이너는 초기화와 종료라는 사이클을 갖는다. 이 과정에서 스프링 컨테이너 내부에 존재하는 Bean 객체 또한 컨테이너의 라이프 사이클에 따라 생성과 소멸을 진행한다. 객체 생성 → 의존 설정 → 초기화 → 소멸 스프링 컨테이너가 초기화 될 때 Bean 객체의 생성 및 의존 설정이 진행된다. 이 부분은 이전 chapter를 공부하면서 살펴볼 수 있었다. InitializingBean과 DisposableBean을 구현한다면 각각 Bean 객체가 초기화, 소멸될 때 지정된 메소드가 실행된다. 코드를 통해 확인해보자. public class MemberDao implements InitializingBean, DisposableBean { @Override public void afterPropert.. 2022. 11. 13.
@Component란? @Component Component scan은 스프링이 직접 클래스를 검색해서 빈으로 등록하는 기능이다. 클래스에 @Component를 붙이면 스캔의 대상이된다. @Component가 제공해주는 기능 다음의 코드들을 통해 학습을 진행해보자. @Component("zzz") public class MemberDao implements Dao { } MemberDao 상단에 @Component("zzz") 를 작성했다. AppCtx에는 @Component 가 붙은 클래스를 스캔하는 역할의 @ComponentScan을 붙여주었다. @Configuration @ComponentScan(basePackages = {"com.example.springtest.spring5_chapter5"}) public cla.. 2022. 11. 13.
스프링 DI란? DI란? Dependency Injection, 즉 의존 주입이다. 의존 주입에 대해서 알아보기 전에 의존에 대해서 알아보자. 의존이란? A객체가 B객체의 메서드를 실행하는 경우 A객체는 B객체에게 의존한다고 표현한다. A객체가 B객체에게 메시지를 보내는 경우라고 생각하자. B객체가 변경될 때 A객체도 변경된다면 A객체가 B객체에게 의존하는 것이다. 의존 주입을 해야하는 이유? 의존하는 객체를 직접 생성한다면 변경에 유연하게 대처할 수 없다. 예시를 통해 확인해보자. public class Service { private Dao dao = new MemberDao(); } public class Service { private Dao dao = new UserDao(); } 위와 같이 Dao객체를 직접 .. 2022. 11. 6.