어디까지 갈 수 있을까?

[작성중] 스프링 어노테이션 정리 본문

프로그래밍/정리

[작성중] 스프링 어노테이션 정리

_Min 2021. 3. 14. 16:51

@Component

해당 어노테이션이 있는 클래스를 객체로 생성해 bean으로 관리

 

@Controller, @Service, Repository

@Component 클래스를 구체화 한 것

시각적으로 역할을 명시하기 위해 사용

 

@Autowired

스프링 컨테이너에 있는 bean 중 타입에 맞는 객체를 주입해달라

 

@RequestMapping

해당 url로 들어오는 요청에 대한 처리를 해당 클래스에서 한다

 

@RestController

@Controller+@ResponseBody

@ResponseBody를 모든 메소드에 적용한다

 

#POST방식의 요청

@RequestBody

http body를 자바 객체에 담을 수 있다

Json을 Java Object로 변환

 

@ResponseBody
자바 객체를 http body에 전송할 수 있따

Java를 JSON Object로 변환

 

--클라이언트 입장 body를 달라고 Request, body의 내용을 Response

 

#GET방식의 요청

@RequestParam

url 뒤에 붙는 parameter 값을 가져올 때 사용

 

@ModelAttribute

 

@PathVariable

{} 안에 있는 값을 가져올 때 사용

 

@Transactional

모든 처리가 정상적으로 되면 커밋, 그렇지 않으면 커밋하지 않는다

 

@Entity

DB의 테이블과 매칭될 클래스임을 명시

 

@Table

엔티티 클래스에 매핑할 테이블 정보 알려줌

 

@Id

PK 필드 명시

 

@GeneratedValue

PK 생성 규칙

 

@Column

컬럼 명시

 

@NoArgsConstructor

파라미터가 없는 생성자 생성

 

@AllArgsConstructor

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

 

@RequiredArgsConstructor

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

 

@Getter

클래스 내 모든 필드의 Getter 메소드 생성

 

@Setter

클래스 내 모든 필드의 Setter 메소드 생성

 

@Builder

어느 필드에 어떤 값을 채워야할 지 명시

 

@ComponentScan

@Component, @Service, @Repository, @Controller, @Configuration이 붙은 클래스를 찾아 컨테이너에 bean등록 해 줌

 

@SpringBootApplication

프로젝트 최상위 Application 클래스에 선언

스프링부트의 자동설정, 스프링 Bean읽기와 생성 모두 자동 설정

어노테이션이 붙은 클래스의 main 메소드에서 실행하는 SpringApplication.run으로 내장 WAS 실행

 

@MappedSuperclass

부모 클래스를 상속 받는 자식 클래스에 매핑 정보만 제공

 

@EntityListeners(AuditingEntityListener.class)

해당 클래스에 Auditing 기능을 포함

 

@CreatedDate

Entity가 생성되어 저장될 때 시간이 자동 저장

 

@LastModifiedDate

Entity의 값을 변경할 때 시간이 자동 저장

 

 

Test 관련

 

@SpringBootTest

스프링 부트 전체 테스트

설정된 빈을 모두 로드한다

 

@RunWith(SpringRunner.class)

JUnit 내장 러너 대신 어노테이션에 정의된 러너를 사용

 

@WebMvcTest

컨트롤러 테스트에 적합

웹 상의 요청과 응답에 대한 테스트, web에 집중한 테스트

 

@TestRestTemplate

HTTP 요청 후 Json, xml, String 과 같은 응답을 받을 수 있는 템플릿

 

@Test

해당 메소드가 단위 테스트의 대상임을 명시

각 테스트가 독립적으로 실행

 

@Transactional

테스트를 마친 뒤 데이터 롤백

 

??
@PutMapping

 

 

 

 

 

 

참고 gmlwjd9405.github.io/2018/12/02/spring-annotation-types.html

 

728x90
Comments