** 자기 공부용 및 암기용으로 포스팅하는 글 입니다.
** 정확한 정보는 보장 할 수 없으니, 참고용으로만 봐주시면 감사하겠습니다.
** 제 개인적인 생각 및 자기 암시목적으로 작성되기에 이점 양해 부탁드립니다.
들어가기에 앞서..
Spring을 공부하면서 너무나도 많은 어노테이션 때문에 머리가 아프다.
이전에 사용했던 어노테이션의 기능도 잊어버리는 경우가 있기에 실시간으로 정리해서 포스팅 할 필요성을
느껴 작성한다..
★ 알아볼 내용
1. 어노테이션 정리
내용 설명
@GetMapping(value = "/") -> 초기 페이지[/단] 일 때 실행되는 서브렛
@RestController
@controller, Rest : API 계층을 의미
@Service : 서비스 계층을 의미
@Repository : 데이터 액서스 계층을 의미
@component
@autowire
@componentScan
@component가 붙어 있는 것들을 모두 @Bean 으로 적용함. [적용 범위 자신과 같은 레벨과 하위 레벨]
@configuration
빈 설정값이 들어가있는 클래스다 라는 뜻
@Bean
@Autowired
한 메서드에서 생성자가 여러개 일 경우 어떤 것을 기준으로 @Bean 설정을 해줄 지 Autowired로 명시해야 한다.
@Qualifier
추가적인 구분자를 통해 의존 관계 연결
ex) @Qualifier("fixedAmount")
@Primary
빈 객체들 간 우선순위를 설정
@Before
- 타깃 객체의 메서드 호출 전에 공통 기능을 실행
@After
- 예외 발생 여부에 관계없이 타깃 객체의 메서드 실행 후 공통 기능을 실행
@AfterReturning
- 타깃 객체의 메서드가 예외 없이 실행되어 값을 반환한 경우 공통 기능을 실행
@AfterThrowing
- 타깃 객체의 메서드 실행 중 예외가 발생한 경우 공통 기능을 실행
@Around
- 타깃 객체의 메서드 실행 전과 후 또는 예외 발생 시 공통 기능을 실행
- 가장 빈번하게 사용됨
@EnableAspectJAutoProxy
@RequestMapping("경로")
"경로"로 들어오는 모든 요청을 처리하는 메서드.
@NotBlank(message = "")
NULL 불가, 빈문자 X, 공백만 있는 문자 X
@Pattern(regexp = " "^010-\\\\d{3,4}-\\\\d{4}$"", message = "")
NULL일 경우는 그냥 패스.
@Min(1)
최소 1 이상
@Deprecated
@Entity
테이블과 엔티티가 1대1로 매핑된다는 의미
해당 애노테이션을 사용하게 되면은 @NoArgsConstructor가 있어야함. 없을 시 에러 반환
무조건 하나 이상의 @Id 애노테이션을 받은 아이디 값을 가지고 있어야함.
@Id
기본키를 의미
@GeneratedValue()
값을 생성한다는 의미. 기본키를 생성하는 전략을 설정할 수 있음.
default 값 : 데이터베이스 테이블에게 맡김.
@GeneratedValue(strategy = GenerationType.IDENTITY);
테이블 생성전략에 맞춰서 Id 생성
-> 값을 자동으로 만들껀데 데이터베이스 테이블이 알아서 만들어주세용
@GeneratedValue(strategy = GenerationType.SEQUENCE)
고유한 값을 만들어 주는 역할을 함 [ 기본키만 생성해주는 역할 ]
@GeneratedValue(strategy = GenerationType.AUTO)
자동으로 시퀀스쓰든 아이덴티쓰든 판단해서 써줘
@Transient
테이블에 없는 값. Column이랑 연결 안할것이다 라고 명시하는것.
@Enumerated(EnumType.STRING)
Enum타입을 Column하기 위해서 사용. EnumType은 "순서"를 사용하지 않는게 중간에 데이터가 추가 및 삭제가
될 경우 아에 서비스를 리셋해야하기때문.. String으로 관리한다 .
@ManyToOne
다대일
@JoinColumn(name = "MEMBER_ID")
내가 외래키로 받을 테이블의 PK키
@OneToMany(mappedBy = "member")
내가 외래키로 받을 테이블의 PK를 지칭하는 변수 명
@AfterEach // 각각의 메서드가 끝날 때 마다 실행됨
@AfterAll // 모든 메서드가 끝날 때 한번만 실행 됨.
@BeforeAll // 전체 테스트가 실행되기전에 딱 한번만 실행됨. static이 붙은 메서드가 필요함.
@Test // 테스트 용 메서드라는 의미
@DisplayName("") //테스트 명 정하기.
'Spring 지식 및 공부' 카테고리의 다른 글
[Spring] Spring JPA - 기본개념 (0) | 2024.07.09 |
---|---|
[Spring] Spring MVC (0) | 2024.07.08 |
[Spring] 아키텍처 ( Architecture ) (0) | 2024.07.04 |
[Spring] AOP & PSA (0) | 2024.07.03 |
[Spring] IoC/DI (1) | 2024.06.30 |