코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 섹션 2~4장

cse 23·2024년 5월 1일
0

섹션2

정적 컨텐츠: 그냥 서버에서 뭐 하는거 없이 파일을 그냥 웹브라우저에 내려주는것
MVC : Model-View-Controller

뷰 - > 화면을 그리는데 모든 역량을 집중해야함
컨트롤러 - > 비즈니스 로직과 관련된 내부적인것을 처리하는데 집중

API
-json 이라는 데이터 포맷으로 클라이언트에게 데이터를 전달하는 방식
-서버끼리 통신할 때 API 형식 많이 사용한다.

key = name

name에 command+P 를 눌러보면
required()가 true로 설정되어 있기 때문에 값을 꼭 주어야함

http get방식은 URL 뒤에 "?" 마크를 통해 URL의 끝을 알리면서, 데이터 표현의 시작점을 알림

웹 브라우저에서 hello-mvc를 넘기면 내장 톰켓 서버를 먼저 거쳐서 스프링에게 던짐
|
스프링은 helloController에 저 메소드가 매핑이 되어 있는 걸 확인하고 메서드를 호출해줌
|
메서드 안에는 hello-template이라는 모델에 키는 name이고 값을 직접 입력받기
|
스프링이 viewResolver가 templates/hello-template.html을 찾아서 Thymeleaf 템플릿 엔진에게 처리해 달라고 넘김
|
그럼 템플릿 엔진이 랜더링을 해서 변환을 한 html을 웹 브라우저에 넘겨줌

@ResponseBody : http에서 body에 이 데이터를 직접 넣어주겠다는 뜻
-> HTTP의 BODY에 문자 내용을 직접 반환
// Getter and Setter는 단축키 control + Enter 를 누르면 쉽게 get과 set을 입력할 수 있다.

spring은 Jackson이라는 라이브러리가 기본으로 되어있음

섹션3

ex) 회원관리 예제
비즈니스 요구사항 정리
데이터: 회원ID, 이름
기능: 회원 등록, 조회
아직 데이터 저장소가 선정되지 않음(가상의 시나리오)
-> 어떤 데이터베이스를 사용할 지 정해지지X

섹션 4

컴포넌트 스캔과 자동 의존관계 설정
이제 멤버 컨트롤러가 회원 서비스를 의존하도록 설계

스프링 빈을 등록하는 2가지 방법

컴포넌트 스캔과 자동 의존관계 설정
-> @Service안에 @Component가 이미 존재한다.
자바 코드로 직접 스프링 빈 등록하기

컴포넌트 스캔 원리

@Component :어노테이션이 있으면 스프링 빈으로 자동 등록된다.
@Controller :컨트롤러가 스프링 빈으로 자동 등록된 이유도 컴포넌트 스캔 때문이다.
@Component : 포함하는 다음 애노테이션도 스프링 빈으로 자동 등록된다.
@Controller
@Service
@Repository

0개의 댓글