@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 |