1. 스터디 복습
Framework
웹 개발을 위한 뼈대이자 생산성 향상을 위한 도구
• 제어 역전(Inversion of Control, IoC): 전체적인 흐름을 프레임워크가 제어하므로 개발자는 요구되는 규칙에 따라 필요한 부분 구현
• 개발자는 프레임워크가 제공한 프로젝트 구조/규칙 안에서 작업함에 따라 일관된 방식으로 코드 작성 가능
+) Library
개발자가 필요한 기능 호출하여 사용하는 도구
• 개발자가 코드의 흐름 직접 제어, 필요 시 라이브러리 기능 가져와 사용
• 단일 기능 제공: 다양한 기능 선택적으로 사용 가능
Spring 개요
자바 엔터프라이즈 개발 편하게 해주는 오픈소스 경량급 애플리케이션 프레임워크
POJO
- AOP: 관심사의 분리 통해 횡단 관심사 모듈화 할 수 있는 프로그래밍 패러다임 => 코드 중복 줄이고 유지보수 쉽게
- PSA: 특정 기술이나 플랫폼에 종속되지 않도록 하는 추상화 계층 제공 => 로직을 기술적 세부 사항과 분리하여 다양한 환경에서 재사용 가능하게
- IoC / DI: DI를 통해 객체 간 의존성 주입 => 개발자가 직접 의존성 관리할 필요 X, 필요한 객체 프레임워크가 제공
IoC / DI
- @Autowired 어노테이션이나 xml 설정 통해 의존성 주입 => 코드 유연성 높이고 결합도 낮춤
- 의존되는 객체 변하더라도 의존하는 객체 코드 수정할 필요 X
- 단순히 주입 객체 바꿈으로써 다른 클래스나 인터페이스에 의존 가능 => 클래스 간 결합도 낮아짐
- 의존하는 객체는 의존되는 객체의 인터페이스 사용 => 더 유연한 구현 가능
- 테스트 시 모의(Mock) 객체 사용 => 단위 테스트 용이
생성자를 통한 의존성 주입
• 장점: 불변성 유지, 필수 의존성 명시, 테스트 용이, 순환 의존성 방지
• 단점: 의존성 많을 시 복잡성 증가
setter를 통한 의존성 주입
• 장점: 선택적 의존성 주입, 유연성
• 단점: 불완전한 상태 가능성, 테스트 시 불편, 순환 의존성 위험
2. 김영한 스프링 입문 강의
01 프로젝트 생성

03 View 환경설정


3. 과제 스크린샷
