본문 바로가기

Back-end/Spring

(17)
[Spring] Bean/Component 어노테이션에 대해서 설명, 둘의 차이점 IoC 컨테이너에 Bean을 등록하기 위해서 사용 @Component: 개발자가 작성한 class를 기반으로 실행 시점에 인스턴스 객체를 1회(싱글톤) 생성 -> @Controller, @Service, @Repository는 모두 @Component 이며 실행 시점에 자동으로 의존성을 주입 @Bean: 개발자가 작성한 method를 기반으로 매서드에서 반환하는 객체를 인스턴스 객체로 1회(싱글톤) 생성
[Spring] Autowiring 과정 컨테이너에서 타입(인터페이스 또는 오브젝트)을 이용해 의존 대상 객체를 검색하고, 할당할 수 있는 빈 객체를 찾아 주입한다.
[Spring] DI(Dependency Injection) 종류는 어떤 것이 있고, 이들의 차이는 무엇인가요? DI(Dependency Injection: 의존성 주입) 외부에서 두 객체 간의 관계를 결정해주는 디자인 패턴으로, 인터페이스를 사이에 둬서 클래스 레벨에서는 의존관계가 고정되지 않도록 하고 런타임 시에 관계를 다이나믹하게 주입하여 유연성을 확보하고 결함도를 낮출 수 있게 해준다. 의존성이란 한 객체가 다른 객체를 사용할 때 의존성이 있다고 한다. 두 객체 간의 관계라는 관심사의 분리 두 객체 간의 결합도를 낮춤 객체의 유연성을 높임 테스트 작성을 용이하게 함 DI는 세가지 방법이 있습니다. 생성자 삽입, Setter를 이용한 메소드 매개 변수 삽입, 필드 주입이 있습니다. 생성자 주입: 생성자 호출 시점에 딱 1번만 호출되는 것을 보장하며, 불변, 필수 의존관계에 사용 Setter 주입: 선택, 변경..
[Spring] IoC 컨테이너의 역할 애플리케이션 실행 시점에 빈 오브젝트를 인스턴스화 한 후, DI(Dependency Injection) 한 후에 최초로 애플리케이션을 기동할 빈 하나를 제공
[Spring] Spring Bean의 Scope Bean Scope는 빈이 존재할 수 있는 범위 싱글톤: 기본 스코프로 스프링 컨테이너의 시작과 종료까지 유지되는 가장 넓은 범위의 스코프 프로토 타입: 빈의 생성과 의존관계 주입까지만 관여하여 더는 관리하지 않는 매우 짧은 범위의 스코프 request: 웹 요청이 들어오고 나갈 때까지 유지하는 스코프 session: 웹 세션이 생성, 종료할 때까지 유지하는 스코프 application: 웹 서블릿 컨텍스트와 같은 범위로 유지하는 스코프
[Spring] Spring Bean의 생성 과정 객체 생성 -> 의존 설정 -> 초기화 -> 사용 -> 소멸 Bean은 스프링 컨테이너에 의해 생명 주기를 관리 Bean 초기화 방법은 @PostConstruct 를 빈 소멸에서는 @PreDestroy를 사용합니다. 생성한 스프링 빈을 등록할 때는 ComponentScan을 이용하거나, @Configuration의 @Bean을 사용하여 빈 설정 파일에 직접 빈을 등록할 수 있습니다.
[Spring] Spring Bean이란 무엇인가요? IoC(Inversion of Control) 컨테이너 안에 들어있는 객체로 필요할 때 IoC 컨테이너에서 가져와서 사용합니다. @Bean을 사용하거나 xml 설정을 통해 일반 객체를 Bean으로 등록할 수 있습니다.
[Spring] Spring DI/IoC는 어떻게 동작하나요? IoC(Inversion of Control: 제어의 역전) 은 프로그램의 제어 흐름을 직접 제어하는 것이 아니라 외부에서 관리하는 것으로 코드의 최종 호출은 개발자가 제어하는 것이 아닌 프레임워크의 내부에서 결정된 대로 이루어집니다. DI(Dependency Injection: 의존관계 주입) 은 스프링 프레임워크에서 지원하는 IoC의 형태로 클래스 사이의 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해줍니다. 스프링에서는 스프링 컨테이너 Application Context를 이용하여 설정 정보를 생성, 등록하고 필요한 객체를 생성자 혹은 setter를 통해 주입합니다. https://github1s.com/ksundong/backend-interview-question