스파르타 부트캠프(spring)
[내일배움캠프_Spring] 자바 Spring 입문_221219
wkdwldP
2022. 12. 19. 23:51
인프런 스프링입문강의를 듣는 중 계속해서 사용되는 @override어노테이션이 정확히 어떤 역할을 하고 있는지 알고싶어 적게 되었다.
@override
: 인터페이스를 참조하고 클래스를 만들 경우 사용
- 이 오버라이드 어노테이션이 없다면 부모로부터 오버라이딩되었는지를 확신할 수 없다.
- 컴파일러에게 부모 클래스에 있는 메서드명과 매개 변수 등이 동일한지를 체크-> 정확히 해당 클래스가 오버라이딩 되었는지 확인가능(사람의 실수를 막아주는 장치)
- 프로그램이 짜임새 있게 개발되기 위한 안전장치라고 생각할 수 있으며, 규모가 큰 프로젝트의 경우 상위클래스와 하위클래스 관계가 매우 복잡해 질 수 있으므로 사용하는게 좋다.
@Controller
: 이 어노테이션이 있는 클래스 스프링 프레임워크(디자인패턴 + 라이브러리 집합)를 웹브라우저(크롬)의 요청을 받아드리는 컨트롤러라고 인지하여 자바 빈(java bean)으로 등록해서 관리한다.
- MVC패턴의 Controller 클래스 임을 명시한다. ViewResolver를 통해 viewName에 맞는 뷰를 클라이언트에 제공한다.
- Model : 컨트롤러가 반환할 데이터(vo객체, List, Map, Json )를 담당
@ResponseBody
: @Controller로 지정된 클래스 내에서 어떤 비즈니스 로직을 처리하는 메소드는 클라이언트에게 뷰가 아닌 데이터(Json)형식으로 전송할 수 있게 한다.
- http에서 헤더와 바디, 그중 바디에 데이터를 직접 넣어준다.
@RequestParam
: http요청 파라미터를 쉽게 받을 수 있는 어노테이션
- @RequestParam("가져올 데이터) [데이터 타입] [가져온 데이터를 담을 변수] 형식으로 사용
- Model객체를 이용해서 뷰로 값을 넘겨준다.