본문 바로가기

Java/Spring boot

[Spring Boot] Annotation 정리

반응형

======Main======

@Bean : 제어 불가한 외부 라이브러리를 Bean으로 만듬 

@Controller : class가 Controller 역할임을 명시 

@Autowired : Bean 객체를 주입 (@AllArgsConstructor, setter)

 

@Component : class를 spring의 bean으로 등록 (Service, Repository, Controller 주석 내부에 존재)

@ComponentScan : 클래스들을 스캔하여 Bean으로 등록

 

======Lombok======

@Setter

@Getter

@ToString : class 모든 필드에 toString 메소드 생성, exclude 속성 사용하여 특정 필드 toString에서 제외 가능

 

@NoArgsConstructor : 파라미터가 없는 기본 생성자 생성

=> Test test1 = new Test(); 

@RequiredArgsConstructor : final이나 @NonNull인 필드만 파라미터로 받는 생성자 생성

=> Test test1 = new Test("string1", "string2"); 

@AllArgsConstructor : 모든 필드 값을 파라미터로 받는 생성자 생성

=> Test test1 = new Test("string1", "string2", null); 

@EqualsAndHashCode : equals, hashCode 메소드를 자동으로 생성 (equal : 내용동일여부 hashCode : 객체동일여부) 

@Data : 위 모든 내용 한번에 추가

 

======Test======

@SpringBootTest 

@Test : JUnit에서 테스트 할 대상 표시 

 

======Param======

@RequestHeader : Request의 header값을 가져오며 파라미터로 사용

@RequestBody : HTTP 요청 본문을 Java 오브젝트로 변환 

public String addUser(@RequesBody User user) {}

@RequestParam : GET 형식의 요청에서 쿼리 문자열을 전달하기 위해 사용 ‘?’ 기준으로 키 = 값 형태로 전달되며 복수 형태로 전달할 경우 &사용

 

======API======

@GetMapping

@PostMapping

@RequstMapping(value=”/hello”, method=RequestMethod.GET)

public String getHello(){ return “hello world”;}

⇒ value와 method로 API 개발, 고전적인 방법으로 이젠 거의 사용안함

 

 

반응형