ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [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

    댓글

Designed by Tistory.