우리학습프로그램 · Week 6~8

Spring / Java 생태계

Java EE 표준 (1997~)
Servlet
javax.servlet.HttpServlet
HTTP 처리 기본 단위. doGet / doPost 직접 구현.
Tomcat
Servlet Container (WAS)
Servlet 실행 환경. Spring Boot에 내장 포함.
Spring이 Servlet을 추상화
Spring Framework (2003~) — XML 설정 복잡
DispatcherServlet
Front Controller 패턴
모든 요청을 받아 Controller로 라우팅.
ApplicationContext
IoC 컨테이너
Bean 생성·관리·주입 담당.
Spring Boot가 자동 설정 + 내장 Tomcat
Spring Boot (2014~) — @SpringBootApplication 하나로 시작
Spring Boot
@SpringBootApplication
자동 설정 · 내장 Tomcat · Gradle/Maven 의존성 관리. java -jar 하나로 실행.
오늘 환경: Spring Boot 3.2.5 + Gradle
레이어드 아키텍처
3계층 아키텍처 (오늘 직접 구현)
Controller
@RestController
HTTP 처리
URL 매핑
GET / POST 분기
Service
@Service
비즈니스 로직
규칙 판단
트랜잭션 경계
Repository
@Repository / @Mapper
DB 실제 액션
SQL 실행
데이터 반환
DB 연동
DB 연동 계층
MyBatis
@Mapper + XML Mapper
SQL 직접 작성. 복잡한 쿼리 제어 가능.
BSS 레거시 전환에 적합.
오늘 실습 완료 ✓
JPA / Hibernate
@Entity + JpaRepository
SQL 자동 생성. ORM 매핑.
신규 단순 도메인에 적합.
개념 수준 ★
핵심 개념
핵심 개념
IoC / DI
Inversion of Control / Dependency Injection
Spring이 객체 생성·주입 담당.
개발자는 선언(어노테이션)만.
느슨한 결합
Loose Coupling
인터페이스로 연결.
구현체 교체해도 위 계층 불변.
Bean
Spring Bean
Spring이 관리하는 객체.
어노테이션으로 등록.