today_is
[ spring ] 어노테이션 문법정리 본문
스프링에서 자주 등장하는 어노테이션(@)입니다.
생소한 어노테이션이 많아서 정리해보았습니다 !!
스프링 빈 등록
@Controller | 지정한 클래스를 스프링 빈으로 등록하고, MVC구조의 컨트롤러 역할을 수행하도록 한다 |
@Service | 지정한 클래스를 스프링 빈으로 등록하고, MVC구조의 서비스 역할을 수행하도록 한다 |
@Repository | 지정한 클래스를 스프링 빈으로 등록하고, MVC구조의 DAO 역할을 수행하도록 한다 해당 클래스에서 발생하는 예외는 SQLException 형식으로 변경하여 throws 한다 |
@Component | 지정한 클래스를 스프링 빈으로 등록한다. 주로 특정 요소에 대한 작업을 전담하는 모듈로 구성한다. |
@ControllerAdvice | 지정한 클래스를 스프링 빈으로 등록하고, 컨트롤러에서 발생하는 예외를 모아서 처리하도록 한다 |
@RestController | 지정한 클래스를 스프링 빈으로 등록하고, 컨트롤러이면서 내부 메서드는 @ResponseBody를 적용받게 한다 |
참조 및 연결
@Autowired | 필드, setter, 생성자에 붙어서 스프링 빈 간의 의존관계를 자동으로 연결한다 타입(자료형)을 우선으로 탐색하고, 타입이 일치하는 요소가 있다면 id로 판별할 수 있다 |
@Value | 특정 경로의 자원을 Resource 타입으로 받아서 파일을 참조할 수 있도록 한다 |
메서드 관련
@RequestMapping | value에는 요청 주소를 지정하고, method에는 요청 메서드를 지정한다 일치하는 요청이 발생하면, 메서드를 호출한다 컨트롤러 클래스에 지정하면, 해당 컨트롤러 하위 모든 메서드가 공통 주소를 적용받는다 문자열만 작성하면 value를 지정하는 것이 된다 |
@GetMapping | @RequestMapping(value="", method=RequestMethod.GET) 과 같다 (스프링 4.1.0 이상에서만 가능) |
@PostMapping | @RequestMapping(value="", method=RequestMethod.POST) 과 같다 (스프링 4.1.0 이상에서만 가능) |
파라미터 관련
@RequestParam | 컨트롤러 메서드에서 파라미터를 전달받을 때 사용한다 보통 생략가능하지만, HashMap으로 파라미터들을 받을때는 반드시 명시해야 한다 |
@PathVariable | @RequestMapping 상의 특정 구간 주소를 파라미터로 치환해서 받을 수 있다 |
@RequestBody | 파라미터 앞에 붙어서 JSON형식의 파라미터를 객체형태로 변환하여 받도록 한다 |
@ResponseBody | 메서드에 붙어서 반환형이 viewName으로 사용되지 않고, 내용 그대로 반환하도록 한다 |
@CrossOrigin | 컨트롤러 클래스 혹은 내부 메서드에 붙어서 CORS에 대한 정책을 설정한다 |
쿼리문 관련
@Select | 마이바티스 함수에서 select 쿼리를 전달받아 executeQuery()를 수행하고, 결과를 반환한다 |
@Insert | 마이바티스 함수에서 insert 쿼리를 전달받아 executeUpdate()를 수행하고, 정수를 반환한다 |
@Update | 마이바티스 함수에서 update 쿼리를 전달받아 executeUpdate()를 수행하고, 정수를 반환한다 |
@Delete | 마이바티스 함수에서 delete 쿼리를 전달받아 executeUpdate()를 수행하고, 정수를 반환한다 |
'spring' 카테고리의 다른 글
[ spring ] 설문 및 투표 + 설문결과보기 기능 구현 (0) | 2024.01.09 |
---|---|
[ spring ] FileComponent , 다중 파일업로드 (0) | 2024.01.04 |
[ spring ] Interceptor (0) | 2024.01.01 |
[ spring ] mybatis mapper 이용 (0) | 2023.12.28 |
[ spring ] HashComponent 이용하기 (0) | 2023.12.28 |