스프링 빈 등록 시 메서드 찾는 순서
스프링에서 메서드를 빈으로 등록할 때는, 먼저 메서드의 반환 타입으로 빈을 찾는다.
만약 해당 타입의 빈이 여러 개 존재할 경우, 이름으로 빈을 찾는다.
예를 들어, 같은 타입의 빈이 두 개 이상 정의되어 있는 상황에서 빈을 주입하려고 하면, 주입 시 @Qualifier를 사용해(우선순위를 높게 지정 ) 특정 이름의 빈을 명시적으로 지정할 수 있다.
JPA와 @Repository
JPA를 사용할 때는 @Repository 어노테이션을 명시적으로 사용하지 않아도 된다.
JPA 리포지토리는 JpaRepository 인터페이스를 상속받는 인터페이스로 정의되는데, 이 경우 스프링이 자동으로 해당 리포지토리를 빈으로 등록하고 예외 처리를 포함한 기본적인 기능을 제공한다.
예를 들어, UserRepository 인터페이스가 JpaRepository를 상속받고 있다면, @Repository를 사용하지 않아도 해당 인터페이스가 자동으로 빈으로 관리된다.
@RequestBody
@RequestBody는 클라이언트가 보낸 HTTP 요청의 바디를 자바 객체로 변환해주는 역할을 한다.
주로 JSON 형식의 데이터를 자바 객체로 변환하는데 사용된다.
예를 들어, 클라이언트가 JSON 형식으로 { "name": "John", "age": 30 } 같은 데이터를 POST 요청으로 전송하면, 서버에서는 이를 @RequestBody를 사용해 User라는 자바 객체로 받아올 수 있다.
이를 통해 복잡한 파싱 작업 없이 쉽게 데이터를 처리할 수 있다.
'spring > 그 외 알게 된 것' 카테고리의 다른 글
| @Service, @Restcontroller를 붙여주는 이유는? (0) | 2024.07.22 |
|---|---|
| ResponseEntity (0) | 2024.07.12 |
| 이거 봐야해 : 영속성 (0) | 2024.07.10 |
| 예외던지기 (0) | 2024.07.03 |
| Gson과 Json은 뭐가 다를까 (0) | 2024.07.02 |