Spring Boot/Basic

1. Spring

minju26 2023. 8. 22. 16:35

Spring

  • Framework
  • 오픈소스
  • IoC 컨테이너 기능
  • DI 지원
  • 필터
  • 어노테이션 
  • Message Converter
  • Buffered Reader & Writer

*Framework : 구조적으로 고정된 부분을 재사용할 수 있도록 하고, 응용별 특정 기능을 추가적인 사용자 작성 코드에 의해 선택적으로 구현 가능하도록 하는 포괄적인 추상 구조, 이를 지원하는 소프트웨어 플랫폼.
즉, 목적에 필요한 것을 일괄로 가져다 쓸 수 있도록 만들어 놓은 '구조화된 틀'

 

*IoC(Inversion of Controll / 제어권의 역전) : 객체의 생성, 생명주기 관리 등 객체에 대한 제어권이 바뀐것을 의미.

*IoC Container : 객체에 대한 생성 및 생명 주기를 관리하는 기능

   - 객체의 생성을 책임지고 의존성 관리 / POJO 생성, 초기화, 서비스, 소멸에 대한 권한

*POJO (Plain Old Java Object) : 오래된 방식의 간단한 자바 오브젝트, 중량 프레임워크를 사용하면서 프레임워크에 종속된 '무거운'객체를 만들게 된 것에 반발해서 사용하는 용어. 즉, 특정 기술에 종속되지 않는 순수한 자바 객체


*DI(Dependenct Injection / 의존성 주입) : 각 클래스간 의존관계를 빈 설정(Bean Definition) 정보를 바탕으로 컨테이너가 자동으로 연결하는 것 ( Setter Injection, Constructor Injection, Method Injection)

*Bean : Spring IoC 컨테이너가 관리하는 자바 객체 

 

*필터 : 권한 체크

필터에 대한 그림

*어노테이션(Annotation) : 코드 사이에 주석처럼 쓰이면서도 특별한 의미, 기능을 수행하도록 하는 것. 즉, 프로그램에게 추가적인 정보를 제공해주는 메타데이터(meta data : 데이터를 위한 데이터)

컴파일러에게 코드 작성 문법 에러 체크 정보 제공 / sw 개발툴이 빌드나 배치시 코드 자동 생성을 위한 정보 제공 / 런타임시 특정 기능을 실행하도록 정보 제공

*리플렉션(Reflection) : 클래스의 메서드, 타입, 변수들에 접근할 수 있도록 하는 자바 API, 런타임에 동적으로 클래스 정보를 추출할 수 있는 프로그래밍 기법

 

*Message Converter

 - 요청(request) :: 자바 프로그램 ---MessageConverter---> Jason -----> :: 

 - 응답(response) :: 자바 프로그램 <---MessageConverter--- Jason <----- ::

 

*Buffered Reader : 낭비나 부족 없이 가변 길이의 문자를 받을 수 있음 (@RequestBody)

*Buffered Writer : 문자열로 가변 길이의 데이터를 쓰게 함 (@ResponseBody)

 

:: 참고 ::

https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8-%EA%B0%9C%EB%85%90%EC%A0%95%EB%A6%AC/dashboard

'Spring Boot > Basic' 카테고리의 다른 글

3. Spring Boot의 동작(3)  (1) 2023.09.02
3. Spring Boot의 동작(2)  (0) 2023.09.02
3. Spring Boot의 동작(1)  (0) 2023.08.22
2. JPA  (0) 2023.08.22