코딩 기록들

스프링 입문 5.1 스프링의 핵심 본문

스프링 입문

스프링 입문 5.1 스프링의 핵심

코딩펭귄 2024. 1. 5. 20:05
  • 스프링 프레임워크의 구성 : 총 20여가지 https://spring.io/projects/spring-framework/  -> 이러한 모듈들은 스프링의 핵심기능(DI, AOP, etc)을 제공하며 필요한 모듈만 선택하여 사용가능
  • 현재 단일 아키텍처(대부분이 모놀리스 형태의 서버)에서 마이크로서비스 아키텍처로 변환중 (스프링도 이에맞춰 진화하고 있는 상태)
  • 여러가지 모듈 중, 스프링부트(웹서버), 스프링데이터(JDBC, 마이바티스, JAP), 스프링배치(일정양의 데이터 모아서 대용량 처리), 스프링 시큐리티(웹서버, 백오피스 등 권한 관련된거 처리),스프링 클라우드(마이크로서비스)
  • 스프링의 등장 배경 ) 2000년대 초반 자바 EE : 작성/테스트가 매우 어렵고 번거로웠다 -> 느슨한 결합이 된 애플리케이션 개발에 중점
  • Spring의 과제 : '테스트 용이성' & '느슨한 결합'
  • IOC등장 : 스프링이 다른 프레임워크와의 가장 큰 차이점
  • AOP : AOP를 사용하여 로깅, 트랜잭션관리, 시큐리티에서의 적용 등 AspectJ와 같이 완벽하게 구현된 AOP와 통합하여 사용가능 (annotation만으로 간단하게 트랜잭션 관리, 직접 AOP를 통해 로깅같은 기능 만듬)

 

스프링의 특징 : 스프링 삼각형

- pojo 객체를 중심에 두고

1) IOC / DI 의존관계주입

2) AOP 관점중심 프로그램

3) PSA 이식 가능한 추상화 - 내가만든 클래스/인터페이스가 얼마나 추상적으로, 기능변경 되는가를 판단

*pojo = 자바 플레인 클래스

'스프링 입문' 카테고리의 다른 글

스프링 입문 5.3 AOP  (1) 2024.01.08
스프링 입문 5.2 IOC, DI (1)  (1) 2024.01.06
스프링 입문 4.4 DELETE API  (0) 2024.01.05
스프링 입문 4.3 PUT API  (1) 2024.01.05
스프링 입문 4.3 POST API  (3) 2024.01.03