Spring의 기본 개념을 간단히 소개
*자세한 설명 생략
▷ Spring?
- JAVA 웹 프레임워크로 JAVA를 이용한 기술들을 더 쉽게 사용할 수 있게 해주는 오픈소스 프레임워크
- Srping 프레임워크는 20여 개의 모듈로 구성
▷ Spring 주요 특징
▶ IOC(Inversion Of Control), 제어반전
객체생성, 생명주기, 의존성 관리를 직접 제어하지 않고 외부에서 관리
▶ IOC Container 분류
- DI(Dependency Injection), 의존성 주입
개발자가 객체 내부에서 직접 호출(new)하지 않고 외부(Spring Container)에서 객체를 생성해서 넣어주는 방식
- DL(Dependency Lookup), 의존성 검색
Bean에 접근하기 위해 Spring Container가 제공하는 API를 이용하여 Bean을 Lookup
▶ Spring Container( = IOC Container )
Spring Framwork에서 IOC 기능을 해주는 Container
*Bean : Spring Container에서 관리하는 객체(Singleton)
*BeanFactory : Spring Container 최상위 인터페이스
*ApplicationContext : BeanFactory 기능을 모두 상속
▶ AOP(Aspect Oriented Programming), 관점 지향 프로그래밍
*설명 생략
▶ OOP(Object Oriented Programming), 객체 지향 프로그래밍
- 추상화
- 캡슐화
- 상속
- 다형성
▷ Spring MVC 흐름
▷ vs Spring Boot
*Spring 프레임워크의 설정을 자동화하여 편하게 사용하도록 돕는 애플리케이션 프레임워크
- Spring Boot는 내장 톰캣을 사용해 톰캣을 따로 설치하거나 버전 관리할 필요 없음
- spring-boot-starter를 통한 dependency 자동화
*Spring 프레임워크는 각각의 dependency의 호환되는 버전을 맞추어 사용
(하나의 라이브러리 버전 업그레이드 시, 다른 라이브러리에 영향을 주어 의존성 관리가 어려움)
- Spring Boot는 .xml 설정 불필요
▷ 참고
[Spring] Spring Architecture
💡 Spring Modules Srping 프레임워크는 20여개의 모듈로 구성되어 있다. 해당 모듈들은 아래 'Overview of Spring Framework' 다이어그램에서 보는 것과 같이 Data Access/Integration, Web, AOP, Core
velog.io
[Spring] Spring의 MVC 패턴과 MVC1과 MVC2 비교
컴퓨터/IT/알고리즘 정리 블로그
chanhuiseok.github.io
'▶ Back-End > 개념 요약' 카테고리의 다른 글
메시지 큐(Message Queue)란? (0) | 2023.02.06 |
---|---|
서블릿(Servlet) 이란? (0) | 2023.02.03 |
Sinks.many() 란? (0) | 2022.11.29 |
Spring WebFlux Non-Blocking 방법 (0) | 2022.11.29 |
스레드 풀(Thread Pool) 이란? (0) | 2022.11.22 |
댓글