1장. 스프링 부트란?

스프링의 목적

IoC를 통해서 개발자가 비즈니스 로직에만 집중할 수 있도록 하겠다.

IoC(inversion of control)

객체의 생명주기 관리를 스프링 컨테이너에 위임함-> 이를 통해 DI와 AOP(??)가 가능해짐.

AOP가 가능해지는 이유

스프링 프레임워크가 공통부분 관리를 다 해줌
스프링 프레임워크는 프락시 패턴을 이용한 방식으로 AOP 기능 제공

AOP(aspect-oriented programming)

관점 지향 프로그래밍

-> 비즈니스 로직에서 반복되는 부가 기능을 하나의 공통 로직으로 처리하도록 보듈화해 삽입하는 방식을 AOP라고 합니다.

관점

어떤 기능을 구현할 때 그 기능을 핵심기능부가기능으로 구분해 각각을 하나의 관점으로 보는 것.

핵심기능

비즈니스 로직이 처리하려는 목적 기능
예시) 상품정보를 데이터베이스에 저장하고, 저장된 상품 정보 데이터를 보여주는 코드

부가기능

예시) 핵심 기능인 비즈니스 로직 사이에 로깅 처리를 하거나 트랜젝션을 처리하는 코드 등

스프링 부트

스프링 프레임워크는 20여개의 모듈을 제공함. 하지만 각 모듈을 사용하기 위한 설정 정보가 너무 많이 필요함 -> 이를 간략화한 것이 Spring boot

특징

1. 의존성 관리

2. 자동 설정

3. 내장 Web Application Server(tomcat)

4. 모니터링(Actuator)

2. 개발에 앞서 알면 좋은 기초 지식

마이크로 서비스 아키텍쳐

각 기능별로 서버를 둬서 기능끼리(서버끼리) 통신하도록 함(대표적으로 HTTP/HTTPS 방식, TCP/IP, SOAP등 다양하게 존재)

서블릿 동작 방식

클라이언트 - Servlet 컨테이너 - Dispatcher Servlet - 핸들러 매핑 - RestController - MessageConverter - HTTP 응답

MessageConverter

요청과 응답에 대해 Body값을 변환하는 역할을 수행함.

레이어드 아키텍쳐(MVC 구조)

프레젠테이션 계츨(controller)

클라이언트의 요청을 해석하고 응답하는 역할

비즈니스 계층(service)

데이터 접근 계층(repository)

데이터 베이스에 접근하는 일련의 작업 수행


캬.... 지렸다...

디자인 패턴

REST API

profile
사람들을 돕는 문제 해결사, 개발자 sudong입니다. 반갑습니다. tkddlsqkr21@gmail.com

0개의 댓글

Powered by GraphCDN, the GraphQL CDN