1. 객체 지향 설계와 스프링
- [ ]
스프링
은 단순히 기능만 배우는 것이 아니라, 객체 지향의 원리(ex:'SOLID')
를 이해하고 스프링
으로 활용할 줄 알아야 한다.
2. 스프링 핵심 원리 이해1
- 스프링 핵심 원리 이해2
- [ ] 단순히 객체 지향이 제공하는
다형성
을 가지고만 해결되는 것이 아니라, DI 컨테이너
나 의존 관계 주입
같은 것들이 적용되어야 객체 지향을 제대로 활용할 수 있다.
→ 스프링
이 모든 걸 제공해준다 !
4. 스프링 컨테이너와 스프링 빈
- [ ]
스프링 컨테이너
가 어떻게 동작하는지, 스프링 빈
이 어떻게 등록되는지, 의존관계
가 어떻게 주입되는지 이해해야 한다.
- [ ]
스프링 빈
을 타입
으로 조회시 같은 타입의 스프링 빈
이 둘 이상이면, 빈 이름
을 지정하자.
- [ ]
BeanDefinition
을 직접 생성해서 스프링 컨테이너에 등록할 수 있으나, 스프링이 이 BeanDefinition
을 추상화해서 사용하는 것이라 이해하자 !
5. 싱글톤 컨테이너
- [ ]
스프링 컨테이너
는 싱글톤 컨테이너
이다. 대부분의 기능은 싱글톤
으로 유지할 수 있게 하기 위한 것들이다.
ex) @Configuration
- [ ]
@Bean
만 사용해도 스프링 빈
으로 등록되지만, 싱글톤
을 보장하지 않는다.
→ 크게 고민할 것 없이, 스프링 설정 정보
는 항상 @Configuration
을 사용하자 !