본문 바로가기

전체 글

(122)
스프링 Bean의 Scope에 대해서 설명해주세요. Scope: 빈이 존재할 수 있는 범위 스코프 종류 Singleton 기본값 하나의 스프링 컨테이너에 한 개만 사용 가능 스프링 컨테이너의 시작과 종료까지 유지(가장 넓은 범위의 스코프) Prototype 매번 사용될 때마다 빈을 생성해서 사용 빈의 생성과 의존관계 주입까지만 관여 매우 짧은 범위의 스코프 Request 웹 요청이 들어오고 나갈 때까지 빈을 사용 web-aware context에서만 사용 가능 Session 웹 세션이 생성되고 종료될 때까지 하나의 빈을 사용 web-aware context에서만 사용 가능 Application 웹의 서블릿 컨텍스트와 같은 범위로 유지되는 스코프 web-aware context에서만 사용 가능 Websocket Websocket 라이프사이클 안에서 한 개의..
DI 종류는 어떤것이 있고, 이들의 차이는 무엇인가요? 의존성 주입(Dependecy Injection, DI)은 객체가 필요로 하는 의존성(즉, 협력 객체들)을 외부에서 제공하는 방식을 말합니다. 이를 통해 객체는 자신의 의존성을 직접 생성하거나 검색하지 않고, 필요한 의존성을 주입받아 사용할 수 있습니다. 이러한 방법은 코드의 결합도를 낮추고, 유연성 및 재사용성을 높이며, 테스트 용이성을 개선합니다. DI의 주요 유형 생성자 주입(Constructor Injection): 객체 생성 시 생성자를 통해 의존성을 주입합니다. 주입받는 객체가 불변하며, 필수 의존성을 갖습니다. 순환 의존성을 컴파일 시간에 잡을 수 있으며, 객체의 완전한 초기화를 보장합니다. public class Car { private final Engine engine; public C..
Spring Bean 의 정의와 생성 과정 스프링 프레임워크는 자체적으로 객체를 생성하고 관리하면서 필요한 곳으로 객체를 주입함 주입을 위해서는 설정 파일, 어노테이션 등을 사용 스프링이 관리하는 객체를 빈 이라고 함! Spring Bean 스프링 컨테이너에 의해 관리되는 재사용 가능한 소프트웨어 컴포넌트 클래스의 등록 정보, Getter/Setter 메서드를 포함하며, 컨테이너에 사용되는 설정 메타데이터로 생성 설정 메타데이터 : XML 또는 자바 어노테이션, 자바 코드로 표현하며, 컨테이너의 명령과 인스턴스화, 설정, 조립할 객체 등을 정의 사용하는 이유 스프링 간 객체가 의존관계를 관리 객체가 의존관계를 등록할 때 스프링 컨테이너에서 해당하는 빈을 찾고, 그 빈과 의존성을 만든다. 등록 방법 xml에 직접 등록 태그 사용 이 클래스를 쓰겠다..