본문 바로가기

프로그래밍/SpringMVC_기초20

회원관리 예제 -1 비즈니스 요구사항 정리 - 데이터: 회원ID, 이름 - 기능: 회원 등록, 조회 - 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현 리포지토리: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인: 비즈니스 도메인 객체, 예) 회원, 주문, 쿠폰 등등 주로 데이터베이스에 저장하고 관리됨 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 데이터 저장소는 RDB, NoSQL 등등 다양한 저장소를 고민중인 상황으로 가정 개발을 진행하기 위해서 초기 개발 단계에서는 구현체로 가벼운 메모리 기반의 데이터 저장소 사용 2023. 10. 14.
API @ResponseBody 문자 반환 @ResponseBody 를 사용하면 뷰 리졸버( viewResolver )를 사용하지 않음 대신에 HTTP의 BODY에 문자 내용을 직접 반환(HTML BODY TAG를 말하는 것이 아님) 실행 http://localhost:8080/hello-string?name=@test@!! 1 2 3 4 5 @GetMapping("hello-string") @ResponseBody //http 바디(직접넣어주겠다) public String helloString(@RequestParam("name")String name){ return "hello " +name; //hello @test@!! } Colored by Color Scripter cs @ResponseBody 를 .. 2023. 10. 14.
MVC와 템플릿 엔진 MVC: Model, View, Controller java-> HelloController 추가 1 2 3 4 5 @GetMapping("hello-mvc") public String helloMvc(@RequestParam(name = "name") String name,Model model){ model.addAttribute("name",name); return "hello-template"; } Colored by Color Scripter cs resources\templates\hello-template.html (파일 추가) 1 2 3 4 5 hello! empty Colored by Color Scripter cs 실행 http://localhost:8080/hello-mvc?name=t.. 2023. 10. 13.
정적 컨텐츠 정적 컨텐츠 서버에서 하는거 없이 그냥 파일을 그냥 웹브라우저에게 내려주는것 파일을 고대로 고객에게 보내주는것 MVC 와 템플릿 엔진 서버에서 프로그래밍을해서 html 을 동적으로 바꾸는것 Model View Controller API 안드로이드, 아이폰 일경우 JSON 데이터 구조 포멧으로 클라이언트 한테 전달 정적 컨텐츠 https://docs.spring.io/spring-boot/docs/2.3.1.RELEASE/reference/html/spring-boot-features.html#boot-features-spring-mvc-static-content 기본적으로 Spring Boot는 클래스 경로 의 /static(또는 /public또는 /resources또는 ) 라는 디렉터리나 . 이는 Sp.. 2023. 10. 13.