본문 바로가기

개발자 기술 면접51

[Spring] DI(Dependency Injection), 의존성 주입 3가지 방법 1. 생성자 주입 방식 생성자를 통해서 의존 관계를 주입받는 방법입니다. 생성자에 @Autowired를 하면 스프링 컨테이너에 @Component로 등록된 빈에서 생성자에 필요한 빈들을 주입합니다. 스프링 공식 문서에서 권장하고 있는 방식. 특징 생성자 호출 시점에 1번만 호출되는 것을 보장한다. 불변과 필수 의존 관계에 사용한다. 생성자가 1개만 존재하는 경우 @Autowired를 생략해도 자동 주입된다. NPE(NullPointerException)를 방지할 수 있다. 주입받은 필드를 final로 선언 가능하다. ※ 생성자 주입을 사용해야 하는 이유 ※ 객체의 불변성 확보 테스트 코드의 작성 final 키워드 작성 및 Lombok과의 결합 2. 수정자 주입 방식 setter라 불리는, 필드의 값을 변.. 2023. 12. 28.
[Spring] 디스패처 서블릿(Dispatcher Servlet)이란? 디스패처 서블릿(Dispatcher Servlet) 디스패처 서블릿이란, 서블릿 컨테이너의 가장 앞단에서 HTTP 프로토콜로 들어오는 모든 요청을 먼저 받아 적합한 컨트롤러에 위임해주는 프론트 컨트롤러입니다. 2023. 12. 27.
[Spring] DI(Dependency Injection), 의존성 주입이란? DI(Dependency Injection) 객체를 직접 생성하는 것이 아닌, 외부(스프링 컨테이너)에서 생성한 후 주입 시켜주는 방식입니다. 이러한 DI(의존성 주입)를 통해 객체 간의 결합도/의존성이 줄어들고 유연성이 높아집니다. 2023. 12. 27.
[Spring] IoC(Inversion of Control)란? IoC(Inversion of Control) 제어의 역전으로, 객체의 생성/의존 관계 설정/생명주기 관리까지 모든 객체에 대한 제어권이 역전된 것을 의미합니다. 즉 객체를 제어하고 관리하는 역할이 개발자로부터 스프링 컨테이너(외부)로 역전된다는 뜻입니다. 의존성을 역전시켜 객체 간의 결합도(의존도)를 줄이고 유연한 코드를 작성할 수 있습니다. 코드의 재사용성이 좋아지고, 유지 보수가 편해집니다. 2023. 12. 27.
[기타] REST, REST API, RESTful이란? REST의 정의 - "Representational State Transfer" 의 약자. - 자원을 이름(자원의 표현)으로 구분해 해당 자원의 상태(정보)를 주고 받는 모든 것을 의미합니다. - 즉, 자원(resource)의 표현(representation)에 의한 상태 전달을 뜻합니다. 자원: 해당 소프트웨어가 관리하는 모든 것 ( 문서, 그림, 데이터, 해당 소프트웨어 자체 등 ) 표현: 그 자원을 표현하기 위한 이름 ( DB의 학생 정보가 자원이면, 'students'를 자원의 표현으로 정함 ) 상태 전달: 데이터가 요청되는 시점에 자원의 상태를 전달한다. ( JSON 혹은 XML을 통해 데이터를 주고 받는 것이 일반적 ) - REST는 기본적으로 웹의 기존 기술과 HTTP 프로토콜을 그대로 활용.. 2023. 12. 27.
728x90