@SpringBootApplication
스프링 부트 애플리케이션을 시작할 때 사용
@SpringBootApplication
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
@RestController
RESTful 웹 서비스에서 JSON 또는 XML 형식의 응답을 반환
@Controller와 @ResponseBody 어노테이션의 조합으로 구성
@RestController
public class MyRestController {
@GetMapping("/hello")
public String hello() {
return "Hello, World!";
}
@GetMapping("/user")
public User getUser() {
User user = new User("John", "Doe");
return user;
}
}
@SpringBootConfiguration
스프링 부트 애플리케이션의 구성 클래스를 나타냄
스프링의 표준 @Configuration 어노테이션의 대안으로 사용되며, 애플리케이션의 구성을 정의
@SpringBootConfiguration
public class MyConfiguration {
@Bean
public MyBean myBean() {
return new MyBean();
}
}
@EnableAutoConfiguration
스프링 부트 애플리케이션에서 자동 구성을 활성화하는 데 사용
애플리케이션의 클래스패스와 설정 정보를 기반으로 빈(bean)을 자동으로 구성
- 자동 구성: 클래스패스 상에 존재하는 다양한 라이브러리 및 라이브러리의 설정 정보를 분석하여 필요한 빈을 자동으로 구성하여 개발자는 별도의 설정 없이도 애플리케이션을 빠르게 구축
- 옵트아웃 기능: 특정 자동 구성을 비활성화하려면 spring.autoconfigure.exclude 프로퍼티를 설정하여 해당 자동 구성 클래스를 제외시킬 수 있음
- 커스텀 자동 구성: 개발자는 필요에 따라 커스텀 자동 구성 클래스를 작성하여 자신만의 빈을 자동으로 구성할 수 있음
@SpringBootApplication
@EnableAutoConfiguration
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}
'learn > spring' 카테고리의 다른 글
어노테이션(Annotation) - Spring MVC 관련 (0) | 2023.09.26 |
---|---|
어노테이션 (Annotation) - AOP(Aspect-Oriented Programming) 관련 (0) | 2023.09.26 |
어노테이션(Annotation) - 설정(Configuration) 관련 (0) | 2023.09.21 |
어노테이션(Annotation) - 의존성 주입(Dependency Injection) 관련 (0) | 2023.09.21 |
어노테이션(Annotation) - 컴포넌트 스캔(Component Scan) 관련 (0) | 2023.09.21 |