도구 및 기타/개발상식

스프링 어노테이션

tero1115 2023. 7. 17. 09:57

Spring Bean

 - Spring IoC 컨테이너가 관리하는 자바 객체 

 - 생성 방법만 명시하면 스프링이 알아서 객체를 생성하고 유지하고 소멸시킨다


스프링 어노테이션 - Bean 등록

 

@Bean

- 외부 라이브러리 객체

 

@Component

 - 내가 만든 객체

 - DI

 

@Controller

 - 주소 매핑

 

@Service

 - 비지니스 로직

 

@Repository

 - DB 데이터 소스

 

@Autowired

- 타입으로 주입 (없으면 이름으로)

 

 


스프링 어노테이션 - Request

@RequestHeader

- 특정 헤더 값을 가져옴

 

@RequestMapping

- 특정 주소를 매핑함

@RequestMapping("/api/v1/main")를 사용하면
@GetMapping @PostMapping 뒤에 ("/api/v1/main")가 자동으로 붙어서 지금있는 ("/api/v1/main")를 지우면 되고, 추가적인 주소가 더 필요하면 그 매핑에 주소를 적으면 된다.

 

@RequestBody

- 요청 body를 가져옴

 

@RequestParam

- 특정 쿼리스트링을 가져옴

 

@PathVariable

- 특정 경로변수를 가져옴


@GetMapping, @PostMapping, @PutMapping, @DeleteMapping
웹 애플리케이션에서 각각의 HTTP 메서드(GET, POST, PUT, DELETE)에 해당하는 요청을 처리하는 데 사용된다

 

@GetMapping은 HTTP GET 메서드를 처리하기 위해 사용되는 어노테이션이다.

@RequestMapping(method = RequestMethod.GET)과 동일한 의미를 가지지만, 더 간결하고 명확한 표현을 제공

 - 주로 데이터 조회와 관련된 요청에 사용

 

@PostMapping은 HTTP POST 메서드를 처리하기 위해 사용되는 어노테이션

 - 새로운 데이터를 생성하거나 추가하는 요청에 사용

 

@PutMapping은 HTTP PUT 메서드를 처리하기 위해 사용되는 어노테이션

 - 기존 데이터를 업데이트하는 요청에 사용

 

@DeleteMapping은 HTTP DELETE 메서드를 처리하기 위해 사용되는 어노테이션

 - 데이터 삭제를 요청하는 데에 사용

 

이러한 어노테이션들은 @RequestMapping과 같은 기능을 수행하지만, 메서드의 기능에 맞게 더욱 간단하고 명확한 표현을 제공하여 코드의 가독성을 높이고 개발을 더욱 편리하게 만들어준다.

'도구 및 기타 > 개발상식' 카테고리의 다른 글

HTTP 상태 코드(응답)  (0) 2023.07.20
HTTP 메소드 (요청)  (0) 2023.07.20
의존성 주입, MVC  (0) 2023.07.14
아파치, 아파치 톰캣  (0) 2023.07.14
[DB] 데이터베이스의 종류  (0) 2023.07.07