일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 스프링 시큐리티 설정
- 비기능적 요구사항
- fetch join
- Atomicity
- 스프링
- 스프링부트 도커
- kotlin 리팩터링
- kotlin ::
- 자바 필터
- 스프링 포매터
- IOC
- 기능적 요구사항
- spring formatter
- method refetence
- 정적팩토리메서드
- 생성자주입
- jpa lazy
- java predicate
- Spring
- 도커 이미지 빌드
- 스프링시큐리티
- jpa no session
- 그래프큐엘
- 동적파라미터
- ioc컨테이너
- 수정자주입
- 스프링di
- open-session-in-view
- 토비의 스프링
- 소프트웨어의 품격
Archives
- Today
- Total
공부기록
스프링이 제공해주는 것들 본문
반응형
스프링?
자바엔터프라이즈 애플리케이션 개발에 사용되는 애플리케이션 프레임워크.
기본 틀, 공통프로그래밍 모델, 기술API 등을 제공한다.
스프링을 사용한다는 것은 다음 세가지 요소를 적극적으로 활용해서 개발한다는 뜻이다.
스프링의 구성요소.
애플리케이션의 기본 틀 - 스프링컨테이너
- 설정정보를 참고로해서 애플리케이션을 구성하는 오브젝트를 생성하고 관리한다. 일반적으로 웹모듈에서 동작하는 서비스나 서블릿으로 등록해서 사용한다.
- 스프링을 사용하기 위해선 스프링컨테이너를 다루는 방법과 설정정보를 작성하는 방법을 알아야한다.
공통프로그래밍모델 - IoC/DI , 서비스 추상화, AOP
애플리케이션을 구성하는 오브젝트가 생성되고 동작하는 방식에 대한 틀을 제공해준다. 코드의 작성방법의 기준도 제시한다. 이런 틀을 보통 프로그래밍모델이라 한다.
- IoC/DI
- 오브젝트의 생명주기와 의존관계에 대한 프로그래밍 모델. 유연하고 확장성이 뛰어난 코드를 만들 수 있게 도와주는 객체지향 설계 원칙과 디자인 패턴의 핵심원리를 담고있다. 스프링의 기본이 되며 가장 중요한 기술.
서비스 추상화.
- 구체적인 기술과 환경에 종속되지 않도록 유연한 추상계층을 두는 방법이다.
AOP
- 코드에 이리저리 흩어져있는 부가적인 기능을 독립적으로 모듈화 하는 프로그래밍 모델. 깔끔한 코드를 유지할 수 있게 도와준다.
기술 API
- UI작성 뿐만아니라, 웹프레젠테이션 계층, 비지니스 서비스 계층 등 다양한 서비스에서 필요한 주요 기술을 스프링에서 일관된 방식으로 사용할 수 있도록 지원해주는 기능과 전략클래스 등을 제공한다.
- 스프링이 제공하는 API와 지원 기술은 모두 스프링의 프로그래밍모델( ioc/di, 서비스추상화, aop를 말하는 것인가?) 에 따라 작성되있기 때문에 쓰는 것만으로도 스프링의 프로그래밍모델을 코드에 자연스레 녹여낼 수 있다.
결론. 스프링을 사용한다는 것은?
위 세가지 요소를 적극적으로 활용해서 애플리케이션을 개발한다는 뜻
- 클래스는 스프링 컨테이너 위에서 오브젝트로 만들어져 동작하게 만든다.
- 코드는 스프링의 프로그래밍 모델에 따라 작성한다.
- 엔터프라이즈 기술을 사용할 때는 스프링이 제공하는 기술API와 서비스를 활용한다.
반응형
'Spring' 카테고리의 다른 글
스프링 애플리케이션이란? (0) | 2019.10.09 |
---|---|
IoC/DI (0) | 2019.09.28 |
[spring security]레거시 프로젝트에 스프링 시큐리티를 적용해보자.(1) (0) | 2019.09.14 |
[SPRING] 스프링부트 테스트관련 어노테이션 정리 (0) | 2019.08.16 |
YAML 매핑하기. @Value (0) | 2019.08.16 |