[Spring Boot] Annotation 정리1

박준환·2022년 4월 2일
0

Web_Project(grow_site)

목록 보기
6/10

Annotation

  • @Configuration

    • Spring IOC Container에게 해당 클래스를 Bean 구성 클래스임을 알려주는 어노테이션 , 설정파일을 만들기 위한 어노테이션
  • @Bean

    • Spring IOC Container에 Bean을 등록하도록 하는 메타데이터를 기입하는 어노테이션
    • 개발자가 직접 제어가 불가능한 외부 라이브러리 등을 Bean으로 만들 때 사용됨

  • @Component

    • Spring IOC Container에 Bean을 등록하도록 하는 메타데이터를 기입하는 어노테이션
    • 개발자가 직접 작성한 Class를 Bean으로 등록하기 위한 어노테이션

  • @PostConstruct

    • 객체의 생성자가 호출되고 의존성 주입이 이루어진 후 초기화를 수행하도록 하는 어노테이션
    • 서버를 내렸다가 올렸을 때 bean이 뜨고 postConstruct 어노테이션이 있는 것(메소드)부터 가장 먼저 실행됨=> 가장 먼저 DB에 생성되도록함

  • @Autowired

    • 상황의 타입에 맞는 IOC Container 안에 존재하는 Bean을 자동으로 주입해주도록 하는 어노테이션
    • 객체의 의존성을 가지는 부분에 사용하여 쉽게 의존성을 주입 받을 수 있음
  • @Transactional

    • 일반적으로 트랜잭션이란 데이터베이스의 상태를 변경하는 작업 또는 한번에 수행되어야 하는 연산들을 의미한다.
    • 회원정보를 추가하거나 수정하는 것은 트랜젝션을 걸어줘야함 ,detail 보는 거나 article조회는 추가로 필요없음
    • readOnly 옵션은 트랜잭션을 읽기 전용으로 설정하도록 하는 것임
  • @Controller

    • Model 객체를 만들어 데이터를 담고 View를 반환하는데 다리 역할을 함
    • MVC 패턴에서의 C
  • @RequestMapping

    • 사용자의 요청 URL과 해당 컨트롤러를 매핑시키는 어노테이션
    • @RequestMapping( value="/", method=RequestMethod.GET)이라고 하면 / URL로 HTTP GET 요청을 처리하는 형식이고 @GetMapping("/")과 같은 역할
  • @ResponseBody

    • 메소드에서 리턴되는 값은 View를 통해 출력되지않고 HTTP Response Body에 직접 쓰여지도록 하는 어노테이션
    • 보통은 controller에서 return 값으로 반환된 문자열이름의 view 페이지를 띄워주는데 View 페이지가 아닌 반환값 그대로 클라이언트에게 return하고 싶을 때 사용하는 어노테이션
  • @RequestParam

    • HTML form 태그를 이용해 post 요청을 했을 때 input에서 name으로 지정한 이름으로 파라미터를 전달하도록 하는 어노테이션
  • @Service

    • Service 레이어 클래스들에 사용되는 어노테이션
    • @Sevice 어노테이션에 @Component 어노테이션의 기능이 포함되어 있고 @Service를 사용함으로써 해당 클래스가 Service의 역할을 하는 것을 명확하게 알 수 있습니다.
  • @Data

    • @Getter, @Setter, @RequiredArgsConstructor, @ToString, @EqualsAndHashCode을 한꺼번에 설정해주는 매우 유용한 어노테이션.
  • @AllArgsConstructor

    • 모든 필드에 대한 생성자를 생성하는 어노테이션으로 의존성을 주입할 대상이 많아졌을 때 깔끔해짐
  • @NoArgsConstructor

    • 파라미터가 없는 기본 생성자를 생성해줌
    • AccessLevel.PROTECTED 옵션을 사용하면 무분별한 객체 생성에 을 막아줄 수 있음
  • @RequiredArgsConstructor

    • final 필드에 대해 생성자를 만들어주는 어노테이션
    • 새로운 필드를 추가할 때 다시 생성자를 만드는 번거로움을 없앨 수 있음

0개의 댓글