Spring

annotation

3분 입문자 2022. 12. 20.
@Getter lombok 의 라이브러리를 추가 하여 Getter를 자동으로 생성 해준다.
@Setter lombok 의 라이브러리를 추가 하여 Setter를 자동으로 생성 해준다.
@ToString lombok 의 라이브러리를 추가 하여 toString을 string 형식으로 출력 해준다.
@Table 맵핑할 테이블을 지정해준다.
@Entity JPA가 관리해준다.
@Id 객체의 PK를 의미 한다.
@GeneratedValue JPA에서 Entity의 Primary Key를 생성해 준다.
@Column DB 테이블 컬럼을 맵핑한다.
@OneToMany 1:N 관계를 맺기 위해서 사용
@ManyToOne N:1 관계를 맺기 위해서 사용
fetchType EAGER (한번에 호출 )

fetchType LAZY (get호출시 호출)
사용시 LAZY 패치를 권장
@ToString.Exclude @oneToMany 나 ManyToOne을 사용할때 @ToString을 클래스에 걸어 두게 되면 순환참조가 걸려서 시스템이 죽어 버리기 때문에 이 순환 참조를 제거 하기 위해서 사용하는 것으로 알고 있다.
@OrderBy 정렬을 하기 위해서 사용
@DateTimeFormat datetimeformat
@PathVariable 매개변수가 이름이 같은데 mapping시 중복될 경우
@pathvariable(name=변수) 설정 후 mapping 값을 동일하게 해준다.
@SpringBootApplication Spring boot application으로 설정
@Controller view를 제공하는 controller 로 설정
@RestController REST API를 제공하는 controller 로 설정
@RequestMapping URL 주소를 매핑
@GetMapping Http GetMethod URL 주소 매핑
@PostMapping Http PostMethod URL 주소 매핑
@PutMapping Http PutMethod URL 주소 매핑
@DeleteMapping Http DeleteMethod URL 주소 매핑
@RequestParam URL Query Parameter 매핑
@RequestBody Http Body를 Parsing 매핑
@Valid POJO Java class의 검증
@Configration 1개이상의 bean을 등록 할 때 설정 또한
(Bean을 만들 때 싱글톤으로 만들기 때문에 만들어진 객체는 다시 생성하지 않는다)
@Component 1개의 Class 단위로 등록 할 때 사용
@Bean 1개의 외부 library로부터 생성한 객체를 등록 시 사용
@Autowired DI를 위한 곳에 사용
@Qualifier @Autowired 사용시 bean이 2개 이상 일 때 명시적 사용
@Resource @Autowired+@Qualifier 의 개념

'Spring' 카테고리의 다른 글

AOP , DI , IOC  (0) 2022.12.20
QUERYDSL 이란  (0) 2022.12.20
WebClient  (0) 2022.12.20
Singleton  (0) 2022.12.20
객체 지향 설계의 5가지 원칙  (0) 2022.12.19

댓글