어노테이션's

THISIS·2022년 3월 5일

Annotation

목록 보기
1/1
post-thumbnail

@Getter

  • 외부에서 객체의 데이터를 필요로 할 때 사용한다.

@Setter

  • 외부에서 메소드를 통해 객체를 변경할 때 사용한다.

@NoArgsConstructor

  • 파라미터가 없는 기본 생성자를 생성해준다.

@AllArgsConstructor

  • 모든 필드 값을 파라미터로 받는 생성자를 생성해준다.

@RequiredArgsConstructor

  • final 또는 @NonNull 인 필드 값만 파라미터로 받는 생성자를 생성해준다.

@Entity

  • 테이블에 대응하는 하나의 클래스다.

@Id

  • 모든 Entity에 지정해주여야 하며, 해당 칼럼이 PK(Primary key)라는 것을 의미한다.

@GeneratedValue

  • 기본키를 무엇으로 생성할지를 정한다.

@Column

  • 객체 필드와 DB 테이블 컬럼을 맵핑한다.

@Builder

  • 복합 객체의 생성 과정과 표현 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 패턴이다.

@MappedSuperclass

  • 공통 매핑 정보가 필요할 대 사용한다. 즉 똑같고 반복되는 속성이 존재할 때 공통 속성을 갖는 Entity를 상속받고 싶을 때 사용할 수 있다.

@Mapping(맵핑,매핑)

  • 매핑은 키(key) 역할을 하는 데이터와 값(value) 역할을 하는 데이터를 연결해 저장하는 데이터 구조를 말한다. 키는 저장된 데이터의 구별에, 값은 그 키와 연결되어 저장된 데이터를 뜻한다.

@EntityListeners(AuditingEntityListener.class)

  • 해당 클래스에 Auditing 기능을 포함시킨다.

@CreatedDate

  • 해당 엔티티가 생성될 때, 생성하는 시각을 자동으로 삽입해준다.

@LastModifiedDate

  • 해당 엔티티가 수정될 때, 수정하는 시각을 자동으로 삽입해준다.

@Service

  • 비즈니스 로직이나 respository layer 호출하는 함수에 사용된다. 다른 어노테이션과 다르게 @Component에 추가된 기능은 없다. 하지만 나중에 Spring 측에서 추가적인 exception handling을 해줄 수도 있으니 비즈니스 로직에는 해당 어노테이션을 사용한다.

@Transactional

  • 데이터베이스의 상태를 변경하는 작업 또는 한번에 수행되어야 하는 연산들을 의미한다. begin, commit 을 자동으로 수행해준다. 예외 발생 시 rollback 처리를 자동으로 수행해준다.

@Controller

  • Web MVC 코드에 사용되는 어노테이션이다. @RequestMapping 어노테이션을 해당 어노테이션 밑에서만 사용할 수 있다.

@Component

  • Spring에서 관리되는 객체임을 표시하기 위해 사용하는 가장 기본적인 annotation이다. 즉, scan-auto-detection과 dependency injection을 사용하기 위해서 사용되는 가장 기본 어노테이션이다.

@GetMapping

  • 이 어노테이션은 HTTP GET 요청을 처리하는 메서드를 맵핑(@RequestMapping) 하는 어노테이션이다. 메서드(url)에 따라 어떤 페이지를 보여줄지 결정하는 역할을 한다.

@EnableJpaAuditing

  • pring Audit 기능을 사용하기 위해서는 @EnableJpaAuditing 어노테이션을 추가해야 한다.

@RunWith

  • JUnit 프레임워크의 테스트 실행방법을 확장할 때 사용하는 어노테이션

@Autowired

  • 의존성 주입을 할 때 사용하는 Annotation으로 의존 객체의 타입에 해당하는 bean을 찾아 주입하는 역할을 한다.

@SpringBootTest

  • 통합 테스트를 제공하는 기본적인 스프링 부트 테스트 어노테이션 이다.

@After(Junit4)

  • Junit 에서 단위 테스트가 끝날 때마다 수행되는 메소드를 지정한다.

@Test

  • 해당 어노테이션을 메소드 위에 선언하먼 해당 메소드를 테스트 실행 대상으로 지정할 수 있다.
profile
THISIS..What is this?

0개의 댓글