[spring boot 공식문서] 6. using the @springbootapplication annotation
업데이트:
5. Spring Beans and Dependency Injection
- 표준 Spring Framework 기술을 자유롭게 사용해
Bean 정의
,의존성 주입
@ComponentScan
: 정의해둔 Beans 찾기@Autosired
: 생성자 주입, 생성자에 의존성 주입을 받고자 하는 field를 나열하는 방법- Application.java 클래스가 root package에 존재하면, arg 없이도
@ComponentScan
추가 가능 - application 내 모든 componenet들(
@Component
,@Service
,@Repository
,@Controller
etc.)은 자동으로 Spring Beans으로 주입
6. Using the @SpringBootApplication Annotation
- 많은 개발자들은 auto-configuration, componenet scan, application class에 추가 구성을 정의하는 것을 선호
@SpringBootApplication
: 다음 3가지 기능들을 모두 활성화
@EnableAutoConfiguration
: Spring Boot의auto-configuration
활성화@ComponenetScan
: app이 위치한 package에서@Component
scan 활성화@Configuration
: 컨텍스트에 추가 beans 등록 or 추가적인 설정 class들 import
package com.example.myapplication;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication // same as @Configuration @EnableAutoConfiguration @ComponentScan
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
- 필요한 annotation만 직접 add 가능
package com.example.myapplication;
import org.springframework.boot.SpringApplication;
import org.springframework.context.annotation.ComponentScan
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Import;
@Configuration(proxyBeanMethods = false)
@EnableAutoConfiguration
@Import({ MyConfig.class, MyAnotherConfig.class })
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
댓글남기기