-
[Spring] @Import 어노테이션 사용카테고리 없음 2019. 5. 11. 13:26
@Import 어노테이션
- @Configuration으로 설정한 설정 파일을 두 개 이상 사용하는 경우
@Import 어노테이션 사용 예
@Configuration public class DataSourceConfig { @Bean public DataSource dataSource() { return new DriverManagerDataSource(...); } } @Configuration @AnnotationDrivenConfig @Import(DataSourceConfig.class) // <-- AppConfig imports DataSourceConfig public class AppConfig extends ConfigurationSupport { @Autowired DataSourceConfig dataSourceConfig; @Bean public void TransferService transferService() { return new TransferServiceImpl(dataSourceConfig.dataSource()); } }
- AppConfig에서 DataSourceConfig를 import하고 있으므로 스프링 컨테이너 생성 시 AppConfig 클래스만 사용하면 DataSourceConfig 클래스의 설정도 함께 사용하여 초기화
public class Main { public static void main(String[] args) { JavaConfigApplicationContext ctx = new JavaConfigApplicationContext(AppConfig.class); // specifies single class // ... } }
여러 설정 파일을 임포트하는 경우
@Configuration @Import({ DataSourceConfig.class, TransactionConfig.class }) public class AppConfig extends ConfigurationSupport { // @Bean methods here can reference @Bean methods in DataSourceConfig or TransactionConfig }
출처 : https://docs.spring.io/spring-javaconfig/docs/1.0.0.M4/reference/html/ch04s03.html
댓글