[학습목표]
Spring Framework의 핵심 개념이 필요한 이유를 이해할 수 있다
Spring Framework에서 DI(의존성 주입)이 어떠한 방식으로 구현되는지 설명할 수 있다
객체 지향 설계에서 AOP가 필요한 이유를 설명할 수 있다
Spring Framework에서 AOP가 어떤 방식으로 구현되는 지 설명할 수 있다
[선행 실습과제]
에서 Gradel Project, Java 기본, Java 11 선택 후 generate -> open -> 해당 폴더 ->build.gradle 선택 후 open as project
순수한 자바 코드
enum : UserGrade
class : User, UserRepositoryImpl(UserRepository 인터페이스 구현), UserServiceImple
interface : UserRepository, UserService
interface : DiscountInfo
class : CurrentDiscountInfo
interface : OrderService
UserApp(회원 로직 테스트 구현 - 테스트)
OrderApp
새로운 할인 정책 적용시 객체 지향 원리 적용
AppConfig 클래스 새로 생성 -> UserServiceImpl 및 OrderServiceImple 코드 AppConfig에 의해 결정되도록 수정 (의존관계 신경 쓸 필요 없이 실행에만 집중)