스프링 애플리케이션 컨텍스트: 스프링에서 제공하는 컨테이너, 컴포넌트 생성.관리
빈: 애플리케이션 컴포넌트, 컨텍스트 내부에서 서로 연결되어 애플리케이션 생성
의존성 주입: 빈의 상호연결 방식, 별도의 개체(컨테이너)가 수행(자체적 X)
→ 생성자 인자 or 속성의 접근자 메소드로 처리
(기존) XML 기반
(최신) JAVA 기반: 어노테이션 활용
※ 어노테이션: 클래스, 함수 등에 의미 추가, 컴파일 시 처리, 주석으로 처리 됨(바이트 코드 X)
Configuration: 각 빈을 스프링 애플리케이션 컨텍스트에 제공하는 구성클래스
Bean: 메소드에서 반환되는 객체가 애플리케이션 컨텍스트의 빈으로 추가
※ JAVA 기반 장점: 강화된 타입 아전, 향상된 리팩토링 기능, 가독성 향상
스프링: 자동-구성 기능 존재 → XML 구성 or JAVA 구성 X
※ 자동-구성