본문 바로가기
Spring & Spring Boot

[Spring] 어노테이션 정리

by minNa2 2025. 2. 16.

 

@RequiredArgsConstructor

  • 초기화 되지 않은 final 필드나, @NonNull이 붙은 필드에 대해 생성자를 생성
  • DI(Dependency injection): 의존성 주입, 하나의 객체에 다른 객체의 의존성을 제공하는 기술
@RestController
@RequiredArgsConstructor
@RequestMapping("/test")
public class TestController {
	private final TestService testService;
}

=====================================

@RestController
@RequestMapping("/test")
public class TestController {
	private final TestService testService;
    
    @Autowired
    public TestController(TestService testService) {
    	this.testService = testService;
    }
}

 

 

@Slf4j (Simple Logging Facade for Java)

  • 자바 로깅 라이브러리를 추상화한 인터페이스
  • 로깅: 프로그램 동작 시 발생하는 모든 일을 기록하는 행위

 

 

@Controller vs @RestController

  • 클래스에 컨트롤러 지정, View(화면)이나 Data 반환
  • Data 전달 시 @RestController 혹인 @Controller + @ResponseBody(매개변수 앞에 선언) 조합 사용
  • 화면 전달 시 @Controller 사용
  • @RestController에 @ResponseBody 어노테이션이 선언되어 있음

 

 

@RequestParam vs @RequestBody

  • 화면에서 Controller로 넘어온 데이터를 받을 때 사용
  • @RequestBody: 주로 Json 통신할 때 key, value 형식으로 사용
  • @RequestParam: 데이터를 저장하는 이름으로 변수명 설정

 

 

@RequestMapping

  • Controller에 들어온 요청을 특정 메서드에 매핑하기 위해 사용
  • @RequestMapping(value = "/test", method = RequestMethod.GET)
  • @RequestMapping(“/test”) 선언 후 각 메서드마다 @PostMapping(value=”post”), @GetMapping(value=”get”) 등 가능

 

 

@Data

  • @toString + @getter + @setter + @RequiredArgsConstructor + @EqualsAndHashCode
  • @toString: toString 메소드를 자동 생성
  • @getter/@setter: 모든 필드의 getter/setter 메소드가 자동 생성
  • @RequiredArgsConstructor: final, @NonNull인 필드 값만 파라미터로 받는 생성자 자동 생성
  • @EqualsAndHashCode: equals, hashCode 메소드 자동 생성

 

반응형

'Spring & Spring Boot' 카테고리의 다른 글

[STS] Eclipse STS lombok.jar 추가  (0) 2023.07.16
DI_12_component  (0) 2023.07.06
DI_11_annoConfig  (0) 2023.07.06
DI_10_annoConfig  (1) 2023.07.06
DI_9_collection  (0) 2023.07.06