Spring Annotation

0

Spring

목록 보기
6/23

지금까지 썼던 annotation 정리해보기

Spring 기초 원격강의에 나온 설명대로 작성.

  • Application - 기본 com. 패키지
    @EnableJpaAuditing : 생성, 수정시간이 바꼈을 때 자동으로 넣어줌. 타임스탬프 있으면 필수
    @SpringBootApplication

  • 기본 클래스 - domain package

@NoArgsConstructor : 기본 생성자 생성
@RequiredArgsConstructor: final 쓸 때, Controller 클래스에게 final 붙어있는 멤버변수들을 자동 생성할 수 있게 권한 부여
@Entity : 테이블과 연계됨을 나타냄
@GeneratedValue(strategy = GenerationType.AUTO) : 생성전략이 auto로 생성됨. 자동 증가 명령
@Id: id임을 알려줌
@Column(nullable = false): 컬럼 값, 반드시 값이 존재해야함
@Getter


  • Timestamped Class - domain package

1) @MappedSuperclass : created at, modified at이 상속한 클래스의 멤버 변수가 되도록 함
2) @EntityListeners(AuditingEntityListener.class): 생성 & 수정 시간을 자동으로 반영하도록 설정해 줌
3) @Getter
↳ 이 3가지 annotation은 타임스탬프가 실행될때 무조건 필수적으로 다 있어야함.
↳ application.java 에 @EnableJpaAuditing도 무조건 추가해줘야함.
@CreatedDate: 생성일자임을 나타냄
@LastModifiedDate: 마지막 수정일자임을 나타냄
@EnableJpaAuditing: 생성일자 & 수정일자에 따라서 날짜가 자동으로 업데이트 됨 → Application에 적용


  • RequestDto - domain package
    @Getter

  • Service - service package
    @RequiredArgsConstructor
    @Service : 이 클래스는 서비스
    @Transactional: DB정보를 업데이트 해줘야 한다. → transaction이 일어난다. 라고 함
    / SQL 쿼리가 일어나야 함을 스프링에게 알려줌

  • Controller - controller package

@GetMapping,@PostMapping,@PutMapping,@DeleteMapping : C,R,U,D
@RequestBody: post request요청이 올때 바디에 있는 정보를, 뒤의 requestDto에 보내줘
@PathVariable: id 주소에 붙음, 경로에 있는 변수


  • Repository
    • 아직까지 annotation 없음
profile
백엔드를 공부하고 있습니다.

0개의 댓글