본문 바로가기

백엔드 면접준비/Spring

(5)
5. Spring Data JPA Q. Spring Data JPA 장단점장점 : 생산성 향상, 코드 단순화, DB 독립적단점 : 복잡한 쿼리 작성에 어려움, 성능 이슈 발생 가능Q. Lazy vs Eager Loading 차이Lazy : 필요 시점에 조회(지연 로딩, N+1 문제 가능성)Eager : 즉시 조회(성능 이슈 가능성)Q. 영속성 컨텍스트란?Entity를 저장, 조회, 관리하는 공간1차 캐시, 쓰기 지연, 변경 감지 기능 지원
4. Spring Boot 1. Spring, Spring Boot의 차이점Spring : xml, Java-config등 설정 필요Spring Boot : 자동 설정(Auto Configuration), 내장 서버 지원, 스타터 제공2. Spring Boot Starter란?프로젝트 의존성을 간단히 추가하는 도구(web, data-jpa, security 등)3. Spring Boot의 Profile이란?환경별로 다른 설정을 분리 관리(dev, test, prod 등)
3. Spring MVC 1. DispatcherServlet모든 HTTP 요청을 받아 적절한 핸들러(Controller)로 요청을 전달하고 응답을 생성하여 반환하는 Front Controller 역할을 수행동작과정클라이언트의 요청을 받으면 DispatcherServlet이 가장 먼저 처리HandlerMapping을 통해 요청 URL에 맞는 Controller를 참음HandlerAdapter를 통해 Controller 메서드를 호출하고 결과(ModelAndView)를 얻음ViewResolver를 통해 View를 찾아 응답을 랜더링하여 클라이언트로 전달2. @RequestMapping, @GetMapping의 차이는?@RequestMapping : HTTP 모든 메서드를 처리하는 어노테이션@GetMapping : GET 메서드 전..
2. Spring 핵심개념(기본) Q. Spring이란?자바 플랫폼의 오픈소스 프레임워크핵심기능 : IoC(DI), AOP목적 : 객체 관리와 결합도 감소를 통한 유지보수성 향상Q. IoC 컨테이너란?객체 생성과 관리, 의존성 주입을 담당하는 컨테이너BeanFactory : 기본 Ioc 기능 제공(지연 로딩 : 빈이 실제로 요청될 대 생성)ApplicationContext : BeanFactory의 확장으로 국제화/이벤트처리/AOP 등을 제공(즉시 로딩)Q. Spring context(ApplicatoinContext)Spring 프레임워크가 제공하는 Ioc컨테이너를 의미빈(Bean)의 생성, 의존성 주입(DI), 라이프사이클 관리 등 객체를 관리하는 역할주요 특징빈 관리(Bean Management) : 객체의 생성, 초기화, 관리 및..
1. @Async(비동기) Spring에서 비동기(Asynchronous) 처리를 지원하기 위해 사용된다. 내부적으로는 TaskExecutor를 활용하여 메서드를 별도의 스레드에서 실행된다. @Async 어노테이션 내부 동작1. 프록시(Proxy) 기반 동작Spring AOP를 이용하여 프록시 객체가 생성된다.@Async가 적용된 메서드를 호출 시 프록시 객체가 대신 실행하고, 실제 메서드는 별도의 스레드에서 실행된다.같은 클래스 내에서 this.asyncMethod()로 직접 호출하면 프록시를 거치지 않아 비동기로 실행되지 않는다.2. TaskExecutor를 활용한 비동기 실행@Async는 TaskExecutor(스레드 풀)을 이용하여 실행된다.SimpleAsyncTaskExecutor를 사용하지만, @EnableAsync와 ..