Springboot annotation 정리

연이·2023년 1월 16일
1

@Controller

컨트롤러 객체임을 명시. Classpath 스캔을 통해 자동으로 감지된다.

@Service

서비스 객체임을 명시. Classpath 스캔을 통해 자동으로 감지된다.

@Bean

객체를 의미, Spring container에 bean을 등록하도록 하는 어노테이션

@Value

properties에서 값을 가져와 적용할 때 사용

@Resource

@Autowired와 마찬가지로 빈 객체 주입을 해주는데 차이점은 autowired는 타입으로
resource는 이름으로 연결해준다.

@Aualifier

@Autowired와 같이 의존성 주입을 위해 사용하나 동일한 타입의 Bean 객체가 두개 이상인 경우 사용

@Transactional

데이터베이스 트랜잭션을 해당 메서드에 적용

@SpringBootApplication

@Configuration, @EnableAutoConfiguration, @ComponentScan 3가지를 하나의 어노테이션으로 합한 것
스프링 부트의 핵심 어노테이션으로 메인 클래스에 사용한다.

@RestController

@Controller + @ResponseBody 를 합한 어노테이션으로 메소드의 결과를 JSON 형태로 반환

@RequestMapping

요청 url을 어떤 메서드가 처리할 것인지 매핑해주는 어노테이션
라우팅 정보를 제공하여 선언한 경로의 값에 따라 HTTP 요청이 해당 메서드에 매핑되어야 하는 것을 스프링에 알림

@Bean

객체를 의미
Spring container에 bean을 등록하도록 하는 어노테이션

@Autowired

의존성을 주입해서 자동으로 객체를 생성해주며 메소드 위에 사용할 경우 기본 생성자를 만들어준다. 의존성 주입 시 주입하고자 하는 객체의 타입이 일치하는지 먼저 검사한 후, 객체를 자동으로 주입

@Component

Spring이 관리하는 모든 component에 대한 기본 스테레오 타입. class를 bean으로 등록

@Configuration

@Bean을 해당 클래스의 메소드에 적용하면 @Autowired로 bean을 부를 수 있다.

@ConfigurationProperties

yaml 파일을 읽는다. Default로 스프링부트 설정파일인 classpath:application.properties 파일을 조회한다.

@EnableAutoConfiguration

해당 어노테이션을 활성화하면 스프링의 다양한 설정이 자동으로 구성된다.

@ComponentScan

자동으로 컴포넌트 클래스를 검색하고 검색된 컴포넌트 및 빈클래스를 스프링 어플리케이션컨텍스트에 등록하는 역할 메인 클래스가 위치한 루트패키지부터 이하 모든 클래스를 검색하여 bean으로 등록한다.

@GetMapping

@RequestMapping(Method = RequestMethod.GET)과 같다. Http head에 담아 보내기 때문에 용량제한

@PutMapping

수정시에 사용한다.

@PostMapping

등록시에 사용. Http body에 data를 담아 전송한다.

0개의 댓글