나의 개발 성장일지
스프링부트 개념정리 본문
https://getinthere.tistory.com/
스프링부트 with JPA 3강 - Springboot 동작원리!
1. 스프링부트 동작원리 (1) 내장 톰켓을 가진다. 톰켓을 따로 설치할 필요 없이 바로 실행가능하다. (2) 서블릿 컨테이너 (3) web.xml -ServletContext의 초기 파라미터 -Session의 유효시간 설정 -Servlet/JSP
getinthere.tistory.com
1. 기존 객체생성은 서로 공유가 어려웠다.
2.스프링은 싱글톤으로 같은 주소의 객체를 컨테이너엑서 공유한다.
3. 리플렉션은 클래스를 분석하는 기법
4.공통언어인 Json과 MessageConverter
5.통신은 비트를 어떻게 자르느냐에 따라 다르다.
6.배열은 고정길이->버퍼는 가변길이 == @request body @response body
7.인터페이스는 상하관계 존재 포로토콜은 평등
8.api란
9.jpa란
자바로 프로그래밍할때 영구적으로 데이터를 보관할 수 있는 인터페이스
10.ORM이란 ->Object를 통한 Relation Mapping
DTO->JPA->DB에 TABLE == 자바클래스로 DB채우기
10 자바->JPA->DB으로 데이터 삽입가능 ->통신시 JSON
11.Context란 ->메타데이터 보관소->DB저장시 해당메타데이터를 먼저 봐야함
12.SQL은 기본자료형만 저장가능하다 그래서 테이블 칼럼형태로 저장하고 Join을 사용한다.
자바가 주도권이있는 ORM방식에선 객체형태로 DB에 저장가능하다.
OOP(객체지향)으로 ORM방식을 사용하여 DB에 접근가능
13. Jpa는 상속으로 테이블 칼럼을 늘릴수있다. 자동으로 join하여 데이터를 가져옴
14. 웹소켓 작동방식
5000포트는 연결받고 다른포트 안내만해주고 다시손님받음 ->소켓끼리 연결유지 ->쓰레드포트생성
15. HTTP 작동방식
문서전달하는 통신-> 요청과 응답으로 소켓을 그순간만사용 ->쓰레드 포트 생성하지않고 소켓 1개로
16. 웹서버란?
17.톰캣이란?
17-1 아파치 웹서버내에서 JSP요청받을때->자바컴파일후 HTML에 덮어씌움
17-2 웹브라우져는 HTML/CSS/JS처럼 정적인페이지만 이해가능하다
17-3 JSP파일을 웹브라우져로 주면 이해할수없어서 톰캣이 HTML로 변환해서 줘야함
17-4 정적페이지처리는 아파치가 (동적페이지->정적페이지)는 톰캣이 처리
18. 스프링내에서 요청방식
18-1스프링은 URL접근을 막고 URI로만 접근가능하다.->자바파일만 요청받는다->아파치->톰캣으로 제어권넘어감
18-2 URL은 특정경로 자원요청(파일)
18-3 URI는 특정경로로 간접요청(식별자)
19. 톰캣(서블릿 컨테이너)관점
19-1 요청마다 서블릿 1개로 쓰레드생성해야됨(자바코드로 웹을하는게 서블릿)
19-2 요청마다 톰캣한계치만큼 쓰레드 만들수있음
19-3 응답후 쓰레드는 사라지지않고 컨테이너에 존재한다.
19-4 요청시 컨테이너에 존재하면 쓰레드생성안함
19-5 요청당 request객체와 response객체생성
20. web.xml 역할
20-1 초기파라미터->주민등록증
20-2 세션 유효시간-> 여권
20-3 Servlet/JSP -> 해당 URL매핑
20-4 HTTP Body쪽에 뭘 들고왔는가
20-5 Welcome File list ->그냥 와본애들 중앙광장으로
20-6 에러페이지처리 -> 이상한 중앙광장으로
20-7 리스터->관리자가 특별 허가해준 url
20-8 필터 -> 아예 못들어오도록
20-9 보안은 문지기
21 Front Controller
21-1 데이터는 클래스에 담거나 자료형에 담아야 의미가있다.
21-2 특정 Uri나요청은 FrontController가 가로채도록 web.xml에서 설정
21-3 톰캣이 요청마다 request객체와 response객체를 만듬
21-4 FrontController에서 다시 요청과 응답을 할때 기존 request,response가 바뀜
21-5 기존에 request와 response를 어떻게 유지할 수 있을까
22. DispatcherServlet -> FrontControlelr+requestServlet
22-1 톰캣내부->Web.xml->DispatcherServlet(FrontController)->컴포넌트스캔->모든자바파일 메모리에 탑재
22-2 매핑하기위해서 먼저 메모리에 자원들이 떠있어야함->자바파일에 어노테이션보고 객체(메모리)에 일단 다올린다.
22-3 메모리에서 공통적으로 사용해야하는애들은 ContextLoaderListener가 Root-ApplicationContext파일을 읽고 메모리에올려줌(보통DB커넥션)
'개인 공부 > 스프링부트 개념정리' 카테고리의 다른 글
의존성 설정하기 (0) | 2022.11.14 |
---|---|
환경설정)블로그만들기 (0) | 2022.11.14 |
19~20 스프링부트 (0) | 2022.11.11 |
16~18 스프링부트(Tiles 필요시보완) (0) | 2022.11.11 |
15장 스프링부트 (0) | 2022.11.11 |