Loading...

Spring / / 2022. 2. 26. 16:35

스프링 1강. 스프링부트 사전 지식

반응형

0. 메서드 (return, 매개변수, 호출)

1. 상속 (추상화) - 타입 일치

2. 인터페이스 - 동적 바인딩 (오버라이드)

3. 제네릭

4. 스레드 (내부가 다 스레드로 구현되어 있음) 몰라도 가능

5. 소켓 (내부다 다 소켓으로 구현되어 있음) 몰라도 가능

 

단, 모르고 코딩을 하는 것은 코더가 되는 것!

개념은 알고있어야 함

 

6. 객체지향 아키텍처(SOLID)

- SRP : 하나의 클래스에 최소한의 책임을 가져야 한다.

(최대한 메서드를 줄이는 것)

하나의 클래스는 단일 책임을 가진다.

무조건 하나의 책임을 가지고 있는 것은 아니지만

최대한 책임을 분리시켜야 한다.

 

하지만 하나의 메서드에는

꼭 하나의 책임만 가지고 있어야 한다.

 

- DIP : 구체적인 것이 아닌 추상적인 것에 의존한다.

 

7. HTML/CSS

8. 자바스크립트 (따로 공부해야 함)

 

9. 아파치/톰캣 (소켓 서버:8080)

- 서버소켓(리스너 : 요청받고 request, response 객체 생성),

소켓(응답)

- request 생명주기 : 클라이언트(새로운 스레드) 요청 시 request 생성,

응답 시 request 종료

 

10. 서블릿 (자바언어로 http 프로토콜이 적용된 소켓 클래스

-> 응답 시 버퍼에 html 코드를 담아 줌)

- 서블릿으로 버퍼에 json을 응답해줘도 될까? 된다!

뭘 담아줘도 가능하고 응답만 해주면 됨

 

11. 서블릿으로 html 코드를 응답하는게 불편해 나온 것

-> JSP (자바 서블릿 페이지)

- HTML 코드에 자바 코드를 추가하는게 매우 편함

 

- jsp를 요청하면 1번으로 원본 서블릿 파일로 변해야한다.

내 입장에서는 html 코드에 자바 코드를 섞는데

톰캣의 Jasper 라이브러리가

이 파일을 서블릿 파일로 변한다.

.jsp 파일 -> .java 파일 (서블릿)

2번 .class 컴파일 후 실행하면

3번 html 코드가 나오고

4번 아파치에게 돌려준다

5번 아파치는 html 코드를 버퍼로 클라이언트에게 응답해준다.

 

이렇게 중간에서 바꿔주는 애들을 미들웨어라고한다.

Jasper!!, 번역가임 !!!

 

12. MVC

- 클라이언트 : 컨트롤러에 의존적

- C (컨트롤러) : 레파지토리에 의존적

- M (모델.java, 레파지토리.java) : DB에 의존적

- V는 뷰!!

 

13. DispatcherServlet

- FrontController 찾아주는 역할

반응형