spring-web 실습
여러 dependency 확인
스프링 시작할 때 읽어오는 파일 : application.yml 아니면 application.properties
지금은 톰켓 포트번호만 8090으로 설정해둠.
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
'Java, Spring > Spring5 기초 정리' 카테고리의 다른 글
4-6강 Web 프로그램 구현 실습(4) (0) | 2022.07.27 |
---|---|
4-5강 Web 프로그램 구현 실습(3) (0) | 2022.07.27 |
4-2강 Spring MVC의 이해 (0) | 2022.07.26 |
4-1강 웹 아키텍처의 이해 (0) | 2022.07.26 |
3-3강 REST API의 이해 (0) | 2022.07.26 |