Spring

SPRING의 기본적인 어노테이션 정리

J휘 2024. 10. 31. 19:14

@Controller

먼저 @Component는 Bean에 Class를 등록시키는 가장 기본적인 어노테이션이며

@Component의 기능과 Controller객체가 가질 수 있는 예외처리등이 추가된 어노테이션이 바로 @Component이다

 

@Autowired

의존성을 주입할 때 사용하는 어노테이션

클래스 내에서 필요한 객체를 직접 생성하지 않고 Spring컨테이너가 관리하는 객체(Been)을 주입받아 사용할 수 있게 해줌 

필드주입방식과 생성자주입방식으로 나뉜다

필드주입방식: 스프링컨테이너가 객체를 생성한 후, @Autowired이 붙은 필드에 의존성을 주입

생성자주입방식: 스프링컨테이너가 객체를 생성할 때 @Autowired이 붙은 생성자를 통해서 필요한 의존성을 주입


<Lombok 라이브러리>

Lombok의

장점: 반복적인 코드작성을 줄여주고, 코드가 간결해지기 때문에 가독성과 유지보수성을 향상시켜줌!

단점: 코드가 자동생성되기 때문에 코드흐름을 이해하기 어려울 수 있다

@NoArgsConstructor 

: Lombok 라이브러리에서 제공하는 어노테이션으로 파라미터가 없는 기본 생성자를 자동으로 생성해준다

(근데 스프링에서는 자동으로 관리해주기 때문에 안 쓰임)

@AllArgsConstructor 

:  모든 필드를 매개변수로 가진 생성자를 만들어준다

# 스프링에서는 자동으로 관리해주기 때문에 안 쓰임

@Getter / @Setter

:  각 필드들의 Getter / Setter를 생성해준다

@ToString

:  toString메서드를 생성해준다

@EqualsAndHashCode

:  equals와 hashcode메서드를 생성해준다

보일러플레이트 코드가 뭐지??\

@ RequiredArgsConstructor

final이나 @NonNull으로 선언된 필드만 매개변수로 받는 생성자 생성해준다

@Data

@Getter, @Setter, @ToString, @EqualsAndHashCode, @RequiredArgsConstructor를 한 번에 적용하는 어노테이션

# 이거 하나면 끝


@Service

: @Component보다 더 구체화해서 service객체에 알맞게 been에 등록시켜준다

@ Repository

: 데이터접근객체(DAO)에 부여해주는 @Comoponent기능이 포함된 어노테이션

- 빈 컨테이너에 등록시켜줌

- DB관련 예외를 Spring의 ataAccessException으로 변환하여 일관된 예외 처리가 가능하게 함

 

 

 

 

'Spring' 카테고리의 다른 글

@Mapping 어노테이션  (4) 2024.10.31
@ResponseBody  (0) 2024.10.30
Spring - Cookie  (0) 2024.10.18
Spring 개념정리(DispatcherServlet, 매개변수 바인딩, DB 커넥트풀, 싱글톤 패턴)  (0) 2024.10.18
Spring - Filter / Interceptor  (0) 2024.10.18