
Q1. Spring에서 트랜잭션 관리를 어떻게 할 수 있는지 설명하고, @Transactional의 동작 원리를 설명해주세요.더보기📌 Spring의 트랜잭션 관리 방식스프링은 트랜잭션을 처리할 때 선언적 트랜잭션 관리(Declarative Transaction Management) 방식을 제공하며, 이를 @Transactional을 통해 쉽게 적용할 수 있음.@Servicepublic class OrderService { @Transactional public void placeOrder() { // 1. 트랜잭션 시작 // 2. 주문 생성 로직 수행 // 3. 결제 로직 수행 // 4. 재고 감소 로직 수행 // 5. 트랜잭션 ..

Q1. Spring Framework의 핵심 개념인 IoC(Inversion of Control)와 DI(Dependency Injection)의 차이를 설명해보세요.더보기IoC (Inversion of Control, 제어의 역전)기존에는 개발자가 객체를 생성하고 생명주기를 관리했지만, IoC 컨테이너가 이 역할을 대신 수행개발자는 객체의 생성·소멸을 직접 제어하지 않고, 필요할 때 컨테이너가 제공해 줌이를 통해 객체 간의 결합도를 낮추고 유지보수성을 높일 수 있음✅ DI (Dependency Injection, 의존성 주입)IoC의 구현 방식 중 하나기존에는 new 키워드를 사용해 직접 객체를 생성했지만, DI를 사용하면 외부에서 객체를 주입받음DI 방식:생성자 주입Setter 주입필드 주입 (@Au..
스프링 컨테이너스프링 컨테이너는 애플리케이션의 객체(Bean)를 생성하고 관리하는 핵심 역할을 수행합니다. 이를 통해 의존성 주입(Dependency Injection), 빈 생명주기 관리 등을 자동화하여 개발자의 부담을 줄이고 효율적인 애플리케이션 개발을 가능하게 합니다. 1️⃣ 스프링 컨테이너의 역할1. 빈(Bean) 생성스프링 컨테이너는 특정 애너테이션이 붙은 클래스를 자동으로 스캔하여 빈으로 등록합니다.@Component, @Service, @Repository, @Controller 등의 애너테이션이 붙은 클래스를 스캔하여 자동으로 빈을 생성@Bean을 사용하여 명시적으로 빈을 등록할 수도 있음@Component vs @Bean스프링은 내부적으로 BeanDefinition이라는 메타데이터를 사용..