스프링부트 기초

김형민·2021년 10월 11일
0

스프링부트 초기설정 참고

패키지 이름을 정해진 경로대로 설정해야하는 이유

스프링은 실행초기에 컴파운트 스캔을 한다.

컴파운트 스캔이란?

패키지를 스캔해서 필요한 것들을 메모리에 로드한다(IOC)

스프링 컨테이너에 모든객체에 대한 변수들을 관리한다.

아래 코드를 예시로 들면

@Controller 어노테이션을 정의해주면 스프링이
com.cos.blog 패키지 이하를 스캔해서 모든 파일을 메모리에 new하는 것은 아니다.

특정 어노테이션이 붙어 있는 클래스 파일들을 new해서(ioc) 스프링 컨테이너에 관리해준다.

@Controller
public class BlogControllerTest {
	
}

스프링부트의 동작원리

  1. loading - 톰캣 실행시
  2. create - contextLoaderListner 실행
  3. loading - db관련된 객체들을 컴포넌트 스캔
  4. running - db관련 컴포넌트들을 메모리에 띄워놓는다
  5. request from client - 사용자 요청
  6. create - DispatcherServlet 동작 스프링부트 문지기 역할을 하며 작업을 요청에 맞게 작업분배
  7. running - 분배된 주소로 controller 동작
  8. 데이터 or 파일을 res 값으로 보낼지 결정이 끝나면 반응값을 보냄

최초 입구에서 web.xml이 자기가 할일을 기억하고 할일이 너무많으니 DispatcherServlet에 분배 미리셋팅 해야할 db관련 작업은 contextLoaderListner가 메모리에 띄워놓는다


1. 내장 톰켓을 가진다.

톰캣을 따로 설치할 필요 없이 바로 실행가능.

톰캣이란?

2. 서블릿 컨테이너

서블릿이란?

3. web.xml

web.xml이란?

4. FrontController

FrontController이란?

5. 스프링 컨테이너

스프링 컨테이너란?

6. Response(응답)

응답


메이븐이란?

yaml이란

스프링부트는 자바 오브젝트를 리턴하게되면 MessageConverter가 jackson이라는 라이브러리를 호출해서 객체를 json으로 변환해서 던져준다.

profile
항해 중인 개발자

0개의 댓글