본문 바로가기

강의 내용 정리/Spring5 기초 정리

4-3강 Web 프로그램 구현 실습(1)(2)

spring-web 실습

 

여러 dependency 확인

 

 

스프링 시작할 때 읽어오는 파일 : application.yml 아니면 application.properties

지금은 톰켓 포트번호만 8090으로 설정해둠.

 

 

ClubController, ClubServiceLogic, ClubMapStore 은 모두 bean으로 등록되어있음.

ClubServiceLogic은 궁극적으로 ClubMapStore에 요청을 보낸다.

하지만 바로 접근하지 않고 인터페이스를 둠. 

ClubServiceLogic -> ClubStore -> ClubMapStore ( ClubServiceLogic은 ClubStore 밖에 모름 )

마찬가지로 ClubController -> ClubService -> ClubServiceLogic

 

 

 

 

 

보통 @Controller 는 View 페이지가 있을 때 사용함.

 

예전엔 servlet/JSP 을 스프링 기반으로 쓸 때는 Controller를 거쳐서 사용자가 원하는 데이터를 모델에 담아서 뷰에 보내고 그 뷰에서 화면을 만들어서 클라이언트에게 전달해 주었지만 지금은 JSON 데이터를 받아서 JSON데이터를 Body에 넣어서 다시 보내준다. 이 때 사용하는게 @RestController

 

 

 

지금까지 자바에서 클래스들의 관계를 구성할 때 객체를 사용하는 일반적인 방법

: this.clubService = new ClubServiceLogci();

 

 

 

하지만 저렇게 사용하지 않는다. ClubServiceLogic 객체는 spring IoC container에의해 스프링 bean으로 관리되므로 우리가 사용하는 시점에 우리가 선언한 필드에 주입 받아서 사용

- ClubController 라는 클래스가 생성될 때 ClubService 인터페이스를 implements 하고 있는 클래스 ( ClubServiceLogic ) 를 생성해서 생성되는 시점에 주입해줌. ( 앞에서 배운 내용 )

- 그러므로 ClubController는 ClubService 인터페이스만 알고 있고 ClubServiceLogic은 모른다.

 

 

 

 

/club 이라는 URL에 POST 방식으로 Body에 JSON형식으로 name, intro를 넣어서 오면 register 컨트롤러로 보낸다.

 

 

 

@RequestBody : 바디에 데이터 온다 알려줌.

@PostMapping("/club") : /club에 POST 요청으로 옴.

 

intro는 10글자보다 길어야한다.

 

 

 

 

 

 

 

 

 

 

 

 

 

 자료를 참고하였습니다.

 

 

꾸준히 다시보자.

 

1. 220730

2. 220812

3. 220915

Recent Posts
Popular Posts
Recent Comments