일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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
- 우아한테크코스
- mock
- 스프링 부트
- Level2
- 서블릿
- 세션
- 프리코스
- 스프링부트
- Docker
- CircuitBreaker
- 우테코
- Spring Batch
- AWS
- HTTP
- 미션
- yml
- 우아한세미나
- 레벨2
- 자바
- 의존성
- JUnit5
- 프로그래머스
- AOP
- 트랜잭션
- 백준
- MSA
- 코드리뷰
- REDIS
- Paging
- JPA
Archives
- Today
- Total
늘
스프링 프레임워크 본문
728x90
스프링 프레임워크란?
- 자바 플랫폼을 위한 오픈 소스 애플리케이션 프레임워크이다.
- 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다
특징
- 경량 컨테이너로서 자바 객체를 직접 관리한다. 각각의 객체 생성, 소멸과 같은 라이프 사이클을 관리하며 스프링으로부터 필요한 객체를 얻어올 수 있다.
- 제어 반전(IoC : Inversion of Control)을 지원한다. 컨트롤의 제어권이 사용자가 아니라 프레임워크에 있어서 필요에 따라 스프링에서 사용자의 코드를 호출한다.
- 의존성 주입(DI : Dependency Injection)을 지원한다. 각각의 계층이나 서비스들 간에 의존성이 존재할 경우 프레임워크가 서로 연결시켜준다.
- 관점 지향 프로그래밍(AOP : Aspect-Oriented Programming)을 지원한다. 따라서 트랜잭션이나 보안과 같이 여러 모듈에서 공통적으로 사용하는 기능의 경우 해당 기능을 분리하여 관리할 수 있다.
- 스프링은 영속성과 관련된 다양한 서비스를 지원한다. MyBatis나 하이버네이트 등 이미 완성도가 높은 데이터베이스 처리 라이브러리와 연결할 수 있는 인터페이스를 제공한다.
제어 반전(IoC : Inversion of Control)
- 외부 라이브러리의 코드가 프로그래머가 작성한 코드를 호출한다.
의존성 주입(DI : Dependency Injection)
- 클라이언트가 어떤 서비스를 사용할 것인지 지정하는 대신, 클라이언트에게 무슨 서비스를 사용할 것인지를 말해주는 것이다.
- 이점
- 객체의 생성과 사용의 분리
- 가독성과 코드 재사용을 높여준다.
- 의존 관계 설정이 실행시에 이루어져 모듈들 간의결합도를 낮출 수 있다.
- 모의 객체 등을 이용한 단위 테스트의 편의성을 높여준다.
728x90
'백앤드 개발일지 > 스프링부트' 카테고리의 다른 글
Servlet과 Controller(feat. Serializable) (0) | 2021.07.22 |
---|---|
[JPA] 양방향 매핑 OneToOne Lazy 이슈 (0) | 2021.07.19 |
JPA, Hibernate, Spring Data JPA (0) | 2021.06.27 |
스프링 시큐리티 + _csrf설정 (0) | 2021.03.28 |
[Spring Security] Jwt Token & Session + refreshToken (0) | 2021.03.13 |
Comments