일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Headless 컴포넌트
- CS
- 프로세스
- react
- Sparkplug
- Compound Component
- Recoil
- 타입 단언
- 클라이언트 상태 관리 라이브러리
- Render Queue
- 명시적 타입 변환
- docker
- JavaScript
- zustand
- linux 배포판
- Custom Hook
- AJIT
- task queue
- TypeScript
- jotai
- 좋은 PR
- useLayoutEffect
- Redux Toolkit
- Microtask Queue
- 주니어개발자
- useCallback
- helm-chart
- prettier-plugin-tailwindcss
- 암묵적 타입 변환
- type assertion
- Today
- Total
구리
TIL_210610_Spring Framework 개념 본문
스프링 프레임워크
DI x AOP 컨테이너를 중심으로 스프링 MVC와 스프링 JDBC등을 포함하는 스프링의 대명사 제품으로 IOC 기반으로 하고 있습니다
IOC
Inversion of Control의 약자로 말 그대로 제어의 역전입니다. 지금까지의 프로그램은 모든 작업을 사용자가 제어하는 구조였으나 IOC에서 객체는 자기가 사용할 객체를 선택하거나 생성하지 않습니다. 자신의 모든 권한을 다른 대상에 위임함으로써 제어권한을 위임받은 특별한 객체에 의해 결정되고 만들어집니다. 즉, 제어의 흐름을 사용자가 컨트롤하지 않고 위임한 특별한 객체에 모든 것을 맡기는 것입니다.
IOC란 기존 사용자가 모든 작업을 제어하던 것을 특별한 객체에 모든 것을 위임하여 객체의 생성부터 생명주기 등 모든 객체에 대한 제어권이 넘어간 것을 IOC, 제어의 역전 이라고 합니다.
DI(Dependency Injection)
의존성 주입으로 객체가 서로 의존하는 관계가 되게 의존성을 주입하는 것입니다. 즉, 각 클래스 사이에 필요로 하는 의존관계를 빈 설정 정보를 바탕으로 컨테이너가 자동으로 연결해주는 것입니다.
POJO
Plain Old Java Object의 약어로 평범한 자바 오브젝트를 의미합니다. POJO는 gettet/setter를 가진 단순 자바 오브젝트로 정의를 하고 있습니다. 이러한 단순 오브젝트는 의존성이 없고 추후 테스트 및 유지보수가 편리한 유연성의 장점을 가집니다. 이러한 장점들로 인해 객체지향적인 다양한 설계와 구현이 가능해지고 Spring Framework 에서는 이러한 POJO을 지원합니다.
AOP
Aspect Oriented Programming의 약자로 관점 지향 프로그래밍을 의미합니다. AOP에서는 핵심기능과 공통기능을 분리시켜 핵심 로직에 영향을 끼치지 않게 공통기능을 끼워 넣는 개발 형태 이며 이렇게 개발함에 따라 무분별하게 중복되는 코드를 한 곳에 모아 중복 되는 코드를 제거 할 수 있어지고 공통기능을 한 곳에 보관함으로써 공통 기능 하나의 수정으로 모든 핵심기능들의 공통기능을 수정 할 수 있어 효율적인 유지보수가 가능하며 재활용성이 극대화됩니다.
'SPRING FRAMEWORK' 카테고리의 다른 글
TIL_210617_AOP 정의, 적용하는 법, 용어, 엘리먼트 (0) | 2021.06.17 |
---|---|
TIL_210617_SpringFramwork JDBC Template 클래스 사용하여 DB 연동 (0) | 2021.06.17 |
TIL_210616_컬렉션 객체 맵핑 설정, DI 설정(어노테이션, XML 설정) (0) | 2021.06.16 |
TIL_210615_스프링 XML 설정 및 속성, 의존성 관리 종류 (0) | 2021.06.15 |
STS 설치 및 Spring Legacy Project 최초 생성, 오류 해결 (0) | 2021.06.15 |