✨ Programming/Spring

[Spring] Spring에서 사용하는 annotation

엉ㅇㅏ 2023. 8. 11. 21:57
어노테이션 설명
@Controller • 자동으로 빈 등록
• Controller Bean
• @Component로 감싸져있다.
@RestController • 자동으로 빈 등록
• RESTfull Controller Bean
• @Controller + @ResponseBody
@Service • 자동으로 빈 등록
• Service Bean
• @Component로 감싸져있다.
@Repository • 자동으로 빈 등록
• Repository Bean
• @Component로 감싸져있다.
@Configuration • 수동으로 빈 등록
• 클래스에 붙임
• 설정 정보를 제공하는 클래스임을 표시
@Bean • 수동으로 빈 등록
• 메서드에 붙임
• 개발자의 컨트롤이 불가한 외부 라이브러리를 Bean으로 등록하고 싶을 때 사용
• @Configuration과 함께 사용해야 함
@Component • 자동으로 빈 등록
• 클래스에 붙임
• 개발자의 컨트롤이 가능한 클래스에 사용
• 스프링 런타임시 빈으로 등록된다.
@ResponseBody • 객체를 HTTP 응답의 본문(body)으로 변환
@RequestBody • HTTP 요청 본문(body)을 객체로 변환
@Autowired • 자동으로 의존성 주입
• 찾는 순서 : 타입 ‣ 이름 ‣ @Qualifier ‣ 실패
@ComponentScan • 자동으로 빈을 검색하고 등록 함
• @Component가 붙은 클래스를 검색해서 Bean으로 등록한다.
• @SpringBootApplication에 포함되어 있다.
@RequestMapping • 요청을 Controller의 특정 메서드에 매핑을 설정하는데 사용
value : 요청받을 url 설정
method : GET, POST, PUT, DELETE 중 어떤 요청으로 받을지 설정
• 클래스와 메서드에 붙임
@PathVariable • url 경로에서 변수 값을 추출해서 Controller 메서드의 매개변수 주입 시 사용
•다중으로 사용 가능
@RequestParam • HTTP 요청 파라미터를 Controller 메서드의 매개변수에 주입 시 사용
@GetMapping • @RequestMapping보다 간결하게 사용할 수 있다.
• 메서드에만 붙임
@PostMapping • @RequestMapping보다 간결하게 사용할 수 있다.
• 메서드에만 붙임
@PutMapping • @RequestMapping보다 간결하게 사용할 수 있다.
• 메서드에만 붙임
@DeleteMapping • @RequestMapping보다 간결하게 사용할 수 있다.
• 메서드에만 붙임
@Transactional • 데이터베이스 트랜잭션을 관리하기 위해 사용