헬린코린이

[Spring Framework] 스프링 어노테이션 정리 본문

Programming/Spring Framework

[Spring Framework] 스프링 어노테이션 정리

HCD 2023. 3. 6. 23:45

@Component

개발자가 생성한 Class를 Spring의 Bean으로 등록할 때 사용하는 어노테이션

 

@ComponentScan

      @Component, @Service, @Repository, @Controller, @configuration 중 1개라도 등록된 클래스를 찾으면 Context에 bean         으로 등록해줌니다.

 

@Bean

개발자가 제어가 불가능한 외부 라이브러리와 같은 것들은 Bean으로 만들 때 사용합니다.

 

@Controller

Spring에게 해당 Class가 Controller의 역할을 한다고 명시하기 위해 사용하는 어노테이션

 

@Service

비지니스 로직이 들어가는 Service로 사용되는 클래스임을 명시하는 어노테이션

 

@Repository

DB연동 작업을 하는 클래스인 DAO에 특화된 어노테이션

 

@RequestHader(value=””)

Request의 header값을 가져올 수 있으며, 해당 Annotation을 쓴 메소드의 파라미터에 사용합니다.

 

@RequestMapping(value=”” RequestMethod.POST,GET)

와 같은 형태로 작성하며, 요청 들어온 URL의 요청과 어노테이션 value 값이 일치하면 해당 클래스나 메서드가 실행됩니다. Controller 객체 안의 메서드와 클래스에 적용 가능하다

 

@RequestParam

URL에 절달되는 파라미터를 메서드의 인자와 매칭시켜 파라미터를 받아서 처리할 수 있는 Annotation으로 아래와 같이 사용합니다.

 

@RestController(Spring RestFul Controller)

(@Controller + @ResponseBody)결합 형태의 어노테이션으로,

용도는 해당 클래스가 ajax 요청을 받아 Json/Xml형태로 객체 데이터를 반환하는 것이다.

(별) 기존 MVC @Controller와의 차이점은 HTTP Response Body가 생성되는 방식의 차이이다.

@ResponseBody

메소드에서 리턴되는 값이 View 로 출력되지 않고 HTTP Response Body에 직접 쓰여지게 됩니다. return 시에 json, xml과 같은 데이터를 return 합니다

 

@RequestBody

Body에 전달되는 데이터를 메소드의 인자와 매칭시켜, 데이터를 받아서 처리할 수 있는 Annotation으로 아래와 같이 사용합니다.

 

@Autowired

Bean 객체를 주입받기 위한 방법은 크게 필드,세터,생성자가 있습니다. (Type을 먼저 확인 후 없으면 Name을 확인)Bean을 주입합니다.

 

@GetMapping

== RequestMappgin(Method=RequestMethod.GET)과 똑같은 역할을 하며, 아래와 같이 사용합니다.

 

@ PostMapping

== RequestMapping(Method=RequestMethod.POST)과 똑같은 역할 하며, 아래와 같이 사용합니다.

 

Lombok의 대표적인 Annotation과 역할

 

@Setter

Class 모든 필드의 Setter method를 생성해줍니다.

 

@Getter

Class 모든 필드의 Getter method를 생성해줍니다.

 

@AllArgsConstructor

Class 모든 필드 값을 파라미터로 받는 생성자를 추가합니다.

 

@NoArgsConstructor

Class 기본 생성자를 자동으로 추가해줍니다.

 

@ToString

Class 모든 필드의 toString method를 생성한다.

Comments