제 주관적인 내용이 많이 포함되 있을 수 있습니다.
사실과 다른부분이 있다면 수정하겠습니다 :)
Spring의 Controller를 의미한다. Spring MVC에서 Controller클래스에 쓰인다.
백엔드의 CRUD 구현에 쓰이는 것 같다.
요청 URL을 어떤 method가 처리할지 mapping해주는 Annotation이다.
Controller나 Controller의 method에 적용한다.
요청을 받는 형식인 GET, POST, PATCH, PUT, DELETE 를 정의하기도 한다.
@RequestMapping("/article/detail") // 이 url로 요청이 오면
public String showDetail(Model model, long id) { // id도 받아야 id에 맞는 상세페이지 view 제공
Article article = articleService.getOne(id);
//dto에 정의 해놓은 Atricle 객체를 이용해 선언하고
//article = ArticleService에 정의 해놓은 getOne(id)을 이용해 찾은 데이터
//조회수
articleService.hitUp(id);
model.addAttribute("article", article);
// model에 getOne(id)로 찾은 article정보를 넣어준다?
return "article/detail"; // jsp 파일을 보내줌
}
속성(field), setter method, constructor(생성자)에서 사용하며 Type에 따라 알아서 Bean을 주입 해준다.
이 Annotation을 사용할 시, 스프링이 자동적으로 값을 할당한다.
Controller 클래스에서 DAO나 Service에 관한 객체들을 주입 시킬 때 많이 사용한다.
필드, 생성자, 입력 파라미터가 여러 개인 메소드(@Qualifier는 메소드의 파라미터)에 적용 가능하다.
Bean이란?
빈(Bean)
Spring IoC 컨테이너가 관리하는 자바 객체를 빈(Bean)이라는 용어로 부른다.
우리가 new 연산자로 어떤 객체를 생성했을 때 그 객체는 빈이 아니다.
ApplicationContext.getBean()으로 얻어질 수 있는 객체는 빈이다.
즉 Spring에서의 빈은 ApplicationContext가 알고있는 객체, 즉 ApplicationContext가 만들어서 그 안에 담고있는 객체를 의미한다.
백엔드와 CRUD에 많이쓰일 것 같다.!
메소드에 @ResponseBody 로 어노테이션이 되어 있다면 메소드에서 리턴되는 값은 View 를 통해서
출력되지 않고 HTTP Response Body 에 직접 쓰여지게 됩니다.
이때 쓰여지기 전에 리턴되는 데이터 타입에 따라 MessageConverter 에서 변환이 이뤄진 후 쓰여지게 됩니다.
Service Class에서 쓰인다.
비즈니스 로직을 수행하는 Class라는 것을 나타내는 용도이다.
음... ServiceImpl 에서 service에 선언된? 것들의 로직을 짜줄때??
필요한 것 같다.