스프링 프레임 워크 핵심기술은 Ioc(제어의 역전) 으로 불리는 DI(의존성 주입)
“소규모 애플리케이션 또는 기업용 애플리케이션을 자바로 개발하는데 있어 유용하고 편리한 기능을 제공하는 프레임워크"
디자인 철학
● 모든 선택은 개발자의 몫. (예, 스프링이 특정 영속화 기술을 강요하지 않는다.) < 기술 비침투성.
● 다양한 관점을 지향한다. (유연성)
● 하위 호환성을 지킨다. (노력)
● API를 신중하게 설계 한다. (공들인다.)
● 높은 수준의 코드를 지향한다. (자랑)
IoC ( Inversion Of Controll ) 제어의 역전 : Dependency Injection (의존주입) 이라고도 하며, 의존객체를 직접 생성하는 것이 아니라 주입받아 사용함을 뜻한다.
장점으로는 메모리나 성능상으로
스프링 IoC 컨테이너
● BeanFactory
● 애플리케이션 컴포넌트의 중앙 저장소.
● 빈 설정 소스로 부터 빈 정의를 읽어들이고, 빈을 구성하고 제공한다.
빈
● 스프링 IoC 컨테이너가 관리 하는 객체.
● 장점
○ 의존성 관리
○ 스코프 <<< @Scope
■ 싱글톤: 하나
■ 프로포토타입: 매번 다른 객체
○ 라이프사이클 인터페이스 <<< 싱글톤 타입의 Bean 에 대해서는 스프링이 탄생부터 소멸까지 관리하는 것으로 기억함.
ApplicationContext <<<< 이녀석이 스프링컨테이너이다.
● BeanFactory
● 메시지 소스 처리 기능 (i18n) < ResrouceBundleMessageSource를 말씀하시는 듯...하다.
● 이벤트 발행 기능
● 리소스 로딩 기능
● ...
ApplicationContext의 역할에 대해 기억나는 대로 작성하면, 빈 객체(인스턴스) 생성, 의존관계 주입, 초기화 , 빈 제공(getBean) 이다.
@Component 스캔 은 @Component, @Service, @Controller, @Repository, @Configuration @Aspect...? 도 되던가? 이 붙은 클래스를 스프링의 Bean 으로 등록해 관리하에 두게하는 것으로 기억 중.
xml Config 에서는 <context:component-scan> 이고 java Config 에서는 @ComponentScan .
@ComponentScan 에노테이션 사용시 basePackages 속성보다 baseClasses 속성이 type-safe하므로 사용하자.
@SpringBootApplication <<<</ / @componentScan 과 @Configuration이 붙이있는 상태 즉 빈 설정파일이 됨
'springframework' 카테고리의 다른 글
o.s.w IoC 핵심기술. @Component 와 @ComponentScan (0) | 2020.08.12 |
---|---|
스프링 프레임 워크 핵심 기술 - 2.@Autowired (0) | 2020.08.11 |
ClassPathResource 객체와 FileSystemResource 객체 (0) | 2020.08.10 |
Properties 파일을 읽어들여 사용하기. (0) | 2020.08.10 |
Hikari CP (DBCP) ....DataSource 설정 (0) | 2020.08.10 |