- @Component : 개발자가 직접 만든 Class를 spring Bean으로 등록하기 위한 Annotation이다. 스프링은 이거 보고 spring bean으로 등록한다.
- @ComponentScan : @Component, @Service, @Repository, @Controller, @Configuration 중 1개라도 붙어있는 클래스를 찾으면 context에 bean으로 등록한다.또한 @Component Annotation이 있는 클래스들은 bean인스턴스를 생성해준다.
- @Bean : @Bean Annotation은 개발자가 제어가 불가능한 외부 라이브러리 같은 것들을 Bean으로 만들 때 사용한다.
- @Controller : Spring에게 해당 Class가 Controller의 역할을 한다고 명시하기 위해 사용하는 Annotation입니다. spring mvc에서 controller클래스에 쓰인다.
- @Repository : Data Access Layer의 DAO 또는 Repository 클래스에 사용한다. DataBase에 접근하는 method를 가지고 있는 Class에서 쓰인다.
- @Service : Service Layer의 클래스에 사용한다. 비즈니스 로직을 수행하는 class라는 것을 나타내는 용도로 쓰인다.
- @Required : optional 하지 않은, 꼭 필요한 속성들을 정의한다.영향을 받는 bean property를 구성할 시에는 XML 설정 파일에 반드시 property를 채워야 한다.
- @Autowired ( @inject도 거의 같은 기능 ) : 속성(field), setter method, constructor(생성자)에서 사용하며 Type에 따라 알아서 Bean을 주입 해준다.무조건적인 객체에 대한 의존성을 주입시킨다. 이 Annotation을 사용할 시, 스프링이 자동적으로 값을 할당한다.Controller 클래스에서 DAO나 Service에 관한 객체들을 주입 시킬 때 많이 사용한다.
- @RequestMapping : 요청 URL을 어떤 method가 처리할지 mapping해주는 Annotation이다.Controller나 Controller의 method에 적용한다.요청을 받는 형식인 GET, POST, PATCH, PUT, DELETE 를 정의하기도 하며 요청 받는 형식을 정의하지 않는다면, 자동적으로 GET으로 설정된다.
- @RequestBody : 요청이 온 데이터(JSON이나 XML형식)를 바로 Class나 model로 매핑하기 위한 Annotation이다.POST나 PUT, PATCH로 요청을 받을때에, 요청에서 넘어온 body 값들을 자바 타입으로 파싱해준다.
'CS' 카테고리의 다른 글
Spring DI 방법들 (0) | 2023.04.20 |
---|---|
DTO , VO , Entity의 간단한 정리 및 비교 (0) | 2023.04.16 |
HTTP와 HTTP method (0) | 2023.04.12 |
controller , service , repository (0) | 2023.04.08 |
비즈니스 로직 (0) | 2023.04.07 |