공부/문법 공부

[Spring] Spring에서 사용되는 어노테이션

aerhergag0 2023. 4. 11. 21:18

@Controller

  • 이 어노테이션을 사용하면 해당 클래스가 Controller의 역할을 한다고 명시하는 어노테이션이다.

@RestController

  • JSON 형태의 데이터를 반환하는 REST API의 엔트포인트로 사용된다.

@Service

  • 비즈니스 로직이 구현되는 서비스 계층의 클래스임을 선언하는 어노테이션이다.

@Component

  •  개발자가 생성한 클래스를 Bean으로 등록하고 싶을 때 사용한다.

@Repository

  • 데이터 접근 계층의 구현체임을 나타내는 어노테이션이다.

@Configuration

  • 해당 클래스가 스프링의 configuration 파일임을 나타내는 어노테이션이다.

@ComponentScan

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

@Transactional

  • 이 어노테이션을 붙인 메소드는 트랜젝션 처리가 필요한 작업을 수행하는데, 하나라도 커밋에 실패하면 롤백된다.

@GetMapping

  • HTTP GET 요청을 처리하는 메소드임을 선언하는 어노테이션이다.

@PostMapping

  • HTTP POST 요청을 처리하는 메소드임을 선언하는 어노테이션이다.

@RequestMapping

  • URI와 요청 메소드를 매핑시키는데 사용하는 어노테이션이다.

@Entity

  • JPA에서 엔티티 클래스임을 나타내며, 데이터베이스의 테이블과 매핑된다.

@Id

  • JPA에서 Primary Key임을 나타낸다.

@GeneratedValue

  • (strategy = GenerationType. --) 로 키 생성 전략을 정한다.
  • IDENETITY(AutoIncrement), SEQUENCE(시퀀스 오브젝트 사용), TABLE(키 생성요 테이블 사용), AUTO(방언에 따라 자동지정)

@Column

  • 엔티티 클래스의 속성을 데이터베이스 테이블의 컬럼과 매핑할 때 사용된다.

@Bean

  • 스프링에서 Bean 객체를 생성할 때 사용된다.

@Autowired

  • 스프링에서 필요한 의존성을 자동으로 주입시켜주는 어노테이션이다.