-
Notifications
You must be signed in to change notification settings - Fork 1
Spring ComponentScan 컨셉
이민형 edited this page Dec 25, 2020
·
2 revisions
SpringBootApplication 클래스는 com.javabom.bomplatform.web.main 패키지에 위치한다.
package com.javabom.bomplatform.web.main; // Application 클래스의 위치, web 모듈
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
@Import({CoreConfig.class, WebConfig.class}) // Import 어노테이션 클래스를 이용해서 다른 모듈에 있는 Configuration 클래스 Scan
public class BomPlatformApplication {
public static void main(String[] args) {
SpringApplication.run(BomPlatformApplication.class, args);
}
}package com.javabom.bomplatform.core.config; // core 모듈의 Configuration 클래스
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
@Configuration
// ComponentScan 어노테이션으로 Core 모듈의 빈들을 등록할 수 있게 한다.
@ComponentScan(basePackages = {"com.javabom.bomplatform.core"})
public class CoreConfig {
}문제점 ➡️ Import 어노테이션 인자에 계속해서 Configuration 클래스들이 추가 된다. 커스텀 어노테이션을 만들어서 Import할 Configuration 클래스들을 관리하더라도 매번 추가할 때마다 번거로움이 있다.