코드와이
[웹] Spring 본문
Spring?
애플리케이션을 만들기 위한 모든 기능을 종합적으로 제공하는 경량화 된 솔루션이다.
Enterprise Application 개발 시 복잡함을 해결하는 Spring의 핵심
- POJO : 객체지향의 원리에 충실한 객체
- PSA : 기술에 접근할 수 있도록 해주는 설계 원칙
- IoC/DI : DI는 유연하게 확장 가능한 객체를 만들어 두고 객체 간의 의존관계는 외부에서 다이나믹하게 설정
- AOP : 공통 모듈을 여러 코드에 쉽게 적용 가능
IoC
- Dependency Lookup
- 컨테이너가 lookup context를 통해서 필요한 resource나 object를 얻는 방식이다.
- Dependency Injection
- Object에 lookup 코드를 사용하지 않고 컨테이너가 직접 의존 구조를 Object에 설정할 수 있도록 지정해주는 방식이다.
- 객체 간의 강한 결합을 통해 Assembler를 통해 결합도를 낮춘다
Container
- 객체의 생성, 사용, 소멸에 해당하는 라이프사이클을 담당한다.
- 서비스 객체를 사용하기 위해 각각 Factory or Singleton 패턴을 직접 구현하지 않아도 된다
DI
- Bean
- 스프링이 IoC 방식으로 관리하는 오브젝트를 말한다.
- BeanFactory
- 스프링이 IoC 를 담당하는 핵심 컨테이너
- Bean 을 등록, 생성, 조회, 반환하는 기능을 담당한다.
- ApplicationContext
- BeanFactory를 확장한 IoC 컨테이너이다.
- Bean 을 등록하고 관리하는 기본적인 기능은 BeanFactory 와 동일하다.
'웹' 카테고리의 다른 글
[웹] Vue.js (0) | 2021.05.10 |
---|---|
[웹] Rest API (0) | 2021.05.09 |
[웹] MyBatis (0) | 2021.05.01 |
[웹] Spring(2) (0) | 2021.04.27 |
[웹] JSP, 기타 (0) | 2021.04.14 |