| 어노테이션 | 설명 |
|---|---|
| 클래스 | |
| @Controller | 요청/응답 제어 역할 명시 + Bean 등록 |
| @Slf4j | 로그 객체 자동 생성 |
| @Autowired | 등록된 Bean 중 같은 타입이거나 상속관계 DI(의존성 주입) |
| 매핑 | |
| @RequestMapping | 모든 방식 요청 매핑 (클래스 상단에 작성하여, 주소로 시작하는 요청을 현재 컨트롤러에 매핑할 수 있음) |
| @GetMapping | Get(조회) 방식 요청 매핑 |
| @PostMapping | Post(삽입) 방식 요청 매핑 |
| @PutMapping("주소") | Put(수정) 방식 요청 매핑 (form, a 태그 요청 불가) |
| @DeleteMapping("주소") | Delete(삭제) 방식 요청 매핑 (form, a 태그 요청 불가) |
| 파라미터 | |
| @RequestParam | 낱개 파라미터 얻어올 수 있음 : 속성 추가 - @RequestParam(value="name", required="false", defaultValye="1") -> value : 전달 받은 input 태그의 name 속성값 (파라미터 key) -> required : 입력된 name 속성값 파라미터 필수 여부 지정(기본값 true) -> defaultVlaue : 파라미터 중 일치하는 name 속성값이 없을 경우에 대입할 값 지정 (required = false 인 경우) |
| 어노테이션 | 설명 |
|---|---|
| @Transactional | 트랜잭션 처리를 수행하라고 지시하는 어노테이션 - 정상 코드 수행 시 COMMIT - 기본값 : Service 내부 코드 수행 중 RuntimeException 발생 시 rollback - rollbackFor 속성 : 어떤 예외가 발생했을 때 rollback 할지 지정 ex) @Transactional(rollbackFor=Exception.class) |
| @Service | 비즈니스 로직(데이터 가공, 트랜잭션 처리) 역할 명시 + Bean 등록 |
| 어노테이션 | 설명 |
|---|---|
| @Mapper | MyBatis 제공 어노테이션으로, 해당 인터페이스를 DAO로 인식하여 SQL 매핑을 처리 - 해당 어노테이션이 작성된 인터페이스는 namespace에 해당 인터페이스가 작성된 mapper.xml 파일과 연결되어 SQL 호출/수행/결과 반환 가능 ex) mapper namespace="OO.OO.OOO.model.mapper.OOOMapper" >> *-mapper.xml에 작성 - Mybatis에서 제공하는 Mapper 상속 객체가 Bean으로 등록됨 - Mapper의 메서드명 == mapper.xml 파일 내 태그의 id |