Gradle은 의존관계가 있는 라이브러리를 함께 다운로드 한다.스프링 부트 라이브러리spring-boot-starter-web \- spring-boot-starter-tomcat : 톰캣(웹서버) -> localhost:8080 \- spring-webm
컨트롤러 , Controllerhtml동작 환경 컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버(viewResolver)가 화면을 찾아 처리\-> 스프링 부트 템플릿엔진 기본 viewName 매핑\-> resources:templates/+{ViewName}+.ht
\-> hello-static 관련 컨트롤러가 없기 때문에 원하는 파일을 넣으면 파일 그대로 정적인 상태에서 반환 해주는 것을 의미하므로 어떠한 프로그래밍을 할 순 없다.위 코드로 실행하면 에러가 발생하는데 파라미터로 받기 위해 선언한 name이 존재하지 않기 때문이다
@ResponseBody를 사용하면 뷰 리졸버(viewResolver)를 사용하지 않는다.대신 HTTP의 BODY에 문자 내용을 직접 반환한다 (HTML BODY TAG 가 아님)\-> 위의 코드 실행단순한 문자가 아닌 객체를 반환한다면 어떻게 될까??@Response
데이터 : 회원ID , 이름기능 : 회원 등록, 조회아직 데이터 저장소가 선정되지 않음(가상의 시나리오) \-> RDB , NoSQL 등 어떤 DB를 사용할 지 아직 정하지 않았다고 가정 컨트롤러 : 웹 MVC의 컨트롤러 역할서비스 : 핵심 비즈니스 로직 구현리포
id , name 변수 선언get, set 메소드 선언 save() : 저장findById() : 아이디를 이용해 회원 찾기findByName() : 이름을 이용해 회원 찾기findAll() : 모든 회원 리스트로 Sequence : 0,1,2 key 값을 생성해주는
회원 컨트롤러가 회원서비스와 회원 리포지토리를 사용할 수 있게 의존관계를 준비하자생성자에 @Autowired가 있으면 스프링이 연관된 객체를 스프링 컨테이너에서 찾아서 넣어준다. 이렇게 의존관계를 외부에서 넣어주는 것을 DI(Dependency Injection), 의
컨트롤러가 정적(static) 파일보다 우선순위가 높기 때문에 정적 파일은 무시된다
등록하고자 하는 이름을 작성할 때 그 이름 데이터를 전달 받는 객체이다@GetMapping이 아닌 @PostMapping 사용 redirect:/ : 홈 화면으로 돌아가는 것 @GetMapping 은 주로 조회할 때 사용하고 , @PostMapping 은 데이터를 어
model.addAttribute("members", members); Controller 에서 View 로 데이터를 넘겨주는 부분이다