학습하며 추가적으로 업데이트 예정입니다.
@Runwith
- JUnit 프레임워크의 테스트 실행방법을 확장 역할
- @Runwith에 Runner클래스 설정시 JUnit의 내장된 runner대신 설정한 SpringJUnit4ClassRunner를 실행
@ContextConfiguration
- 지정된 클래스나 문자열을 이용해 필요한 객체들을 스프링내 객체로 등록 (RootConfig의 패키지 경로내의 클래스 Bean 등록)
@Log4j
- Lombok을 이용해 로그를 기록하는 Logger 변수 생성
@Autowired
- 해당 인스턴스 변수에 스프링으로부터 자동으로 Bean을 주입해달라는 표시
@Test
- JUnit에서 테스트 대상을 표시
@Component
- Component는 스프링에게 해당 클래스가 관리해야할 대상임을 표시
@Setter
- Set( ) 메소드를 컴파일시 생성
@Getter
- Get( ) 메소드를 컴파일시 생성
@ModelAttribute
- view에서 전달해주는 파라미터를 클래스의 멤버변수로 binding 해주는 어노테이션
@GetMapping
- RequestMapping(Method=RequestMethod.GET)과 동일
@PostMapping
- RequestMapping(Method=RequestMethod.POST)과 동일
@SessionAttributes
- @SessionAttributes("test") 라는 어노테이션을 선언했을시 key값인 test로 세션에 저장
@RequestBody
- 요청이 들어온 데이터(Json, XML)를 클래스나 model로 매핑
@ReqeustParam
- request의 파라미터를 가져오는 기능을 하며 메소드내에 변수로 활용
@ResponseBody
- View(html,jsp)가 아닌 JSON 형식의 데이터값을 응답할 때 사용하는 것으로 response Body에 형식이 노출
- 객체를 return시 json 라이브러리에 의해 문자열로 변환
@PathVariable
- 메소드 파라미터 앞에 사용하며 해당 URL에 { } 특정 파라미터를 변수로 활용 가능
@Transactional
- 데이터베이스 트랜잭션 설정 어노테이션 (AutoCommit, rollback, commit 등)
- DB의 접근이 하나라도 실패시 rollback
- 비지니스 로직과 트랜잭션 관리는 모두 Service에 하기때문에 Service 메소드는 @Transactional를 사용
@Cacheable
메소드 앞에 지정하여 사용하며 메소드를 최초 호출시 캐시에 적재하고 추후 동일한 요청이 들어올 시 캐시의 결과를 리턴
- 메소드의 호출 횟수를 줄여주는 어노테이션
@RestController
- @Controller + @ResponseBody = @RestController
- view가 필요없는 API에 지원 (Spring4.0.1 이후)
- @RequestMapping메소드가 @ResponseBody 의미를 가정한다
- data(json,xml) return 시 사용
롬복의 어노테이션
@AllArgsConstructor
- AllArgsConstructor는 모든 필드를 파라미터로 가지는 생성자를 생성
@NoArgsConstructor
- 파라미터가 없는 기본 생성자를 생성
@RequiredArgsConstructor
- final, @NonNull 인 필드값만 파라미터로 받는 생성자를 생성
@EqualsAndHashCode
- equals( )메소드와 hashCode( )메소드를 오버라이드
@Data
- @toString, @getter/setter, @RequiredArgsConstructor 등 모두 사용한것과 같은 기능
'Spring' 카테고리의 다른 글
스프링 MVC 기본구조 (0) | 2019.05.01 |
---|---|
mybatis와 스프링 연동 예제 (0) | 2019.04.30 |
IntelliJ로 스프링 gradle 프로젝트 설정 (0) | 2019.04.28 |
Spring 의 특징과 의존성 (0) | 2019.04.25 |