package hello.core.singleton; import hello.core.Beanfind.ApplicationContextExtendsFindTest; import org.junit.jupiter.api.Test; import org.springframework.context.ApplicationContext; import org.springframework.context.annotation.AnnotationConfigApplicationContext; import org.springframework.context.annotation.Bean; import static org.junit.jupiter.api.Assertions.*; class StatefulServiceTest { @Tes..
Spring data jpa 리포지토리에 구현 클래스 없이 인터페이스 만으로 개 발을 완료할 수 있습니다. 그리고 반복 개발해온 기본 CRUD 기능도 스프링 데이터 JPA가 모두 제공합니다. 순서 인터페이스를 만든다 인터페이스가 인터페이스를 상속한다 SpringDataJpaMemberRepository 가 (JpaRepository, MemberRepository)를 상속 SpringDataJpaMemberRepository가 JpaRepository 를 상속하게 되면 스프링 데이터 jpa 가 (JpaRepository를 import 하는 것을 볼 수 있음 > 이는 스프링에서 제공해 주는 기술로 인터페이스를 구현하여 스프링 빈에 등록하는 기술을 제공 ) 4. SpringDataJpaMemberReposi..
api 방식은 직접 입력한 데이터를 직접적으로 표현하는 방식 객체가 전달 받았을 때 json 형태로 데이터를 만들어서 http 응답에 반환하는 것이 기본 정책 기존에선 viewResponse 였지만 ResponseBody 의 경우 HttpMessageConverter 가 작동함 문자를 전달 받으면 StringConver 가 동작하여 문자를 전달해줌 객체면 JsonConverter 가 json 방식으로 바꿔줌 문자열을 입력 받는 경우 객체를 입력 받는 경우 정적 컨텐츠 : 파일을 그대로 내려준다 탬플릿 엔진 방식 : 템플릿 엔진을 모델 뷰 방식으로 쪼개서 뷰를 템플릿방식으로 프로그래밍 된 html을 고객에게 전달 api : json 방식으로 객체를 반환하는 것
컨트롤러 템플릿 구조 localhost:8080/hello-mvc 의 입력을 받으면 톰캣 서버를 통해 스프링 컨테이너에 전달 컨트롤러에서 hello-mvc의 해당하는 메서드를 실행함 HelloController를 보면 hello-mvc 는 name 을 파라미터로 받는다 (model 에 키 값과 전달받은 파라미터 값들을 매칭하는 모델 생성) 그리고 return hello-template > /templates/hello-template.html 실행한다. 파라미터 값이 전달되면 th:text 출력 실행 파라미터 값 전달하는 경우 파라미터 값을 전달하지 않는 경우
정적페이지의 경우 톰캣 서버에 localhost:8080/hello-static.htrml 을 넘겨줌 우선적으로 스프링 컨테이너에 전달해줌 > 근데 hello-statifc.html이 없음 스프링 컨테이너에 없으면 resorce에 가서 static/hello-static.html을 실행시킴