애노테이션 기반 자바 코드 설정 사용new AnnotationConfigApplicationContext(AppConfig.class)XML 설정 사용최근에는 스프링 부트를 많이 사용하면서 XML기반의 설정은 잘 사용하지 않는 편GenericXmlApplicationC
ApplicationContext: 스프링 컨테이너기존에는 AppConfig에서 직접 객체를 생성하고 DI를 했지만, 스프링 컨테이너를 통해 사용스프링 컨테이너는 @Configuration이 붙은 AppConfig 설정정보 사용@Bean이 붙은 메서드를 모두 호출해서
제어의 역전: IoC(Inversion of Control)프로그램의 제어 흐름을 직접하기보다는, 외부에서 관리하는 것ex) AppConfig에서 구현체 생성프레임워크 vs 라이브러리프레이워크: 내가 작성한 코드를 제어하고 대신 실행 (ex. JUnit)라이브러리: 내
스프링은 다음 기술을 통해 다형성 + OCP, DIP를 가능하게 지원DI(Dependency Injection): 의존관계/의존성 주입DI 컨테이너 제공클라이언트 코드의 변경 없이 확장 가능모든 설계는 "역할"과 "구현"을 분리하자이상적으로는 모든 설계에 인터페이스를
스프링 핵심 원리 - 기본편좋은 객체지향 설계의 5가지 원칙SRP: Single responsibility principle(단일 책임 원칙)하나의 클래스는 하나의 책임만중요한 기준: 변경 -> 변경 발생시 파급효과가 적다 = 단일 책임 원칙을 잘 따른 것OCP: Op