Open utterances-bot opened 4 years ago
안녕하세요. 먼저 좋은 글 감사합니다. 👍 저도 멀티모듈에 관해서 고민하다가 궁금한 것이 있어서 댓글 남깁니다.
@Service
가 있는 모듈이 있을것 같은데, 이 모듈을 사용하는 app 모듈과의 디펜던시는 어떻게 두셨나요?1
과 같은 경우에서 제가 고민한 결과는 client들은 WebClient
나 RestTemplate
정도의 디펜던시만 있을 것 같아, 사용하는 각각의 app 모듈에서 직접 빈을 생성하도록 했습니다.
@Configuration
class ClientBeanConfig {
@Bean
fun mailClient(): MailClient = MailClient()
}
2
의 경우에는 @Service
어노테이션을 가진 모듈인데요. 이 모듈은 결국 spring 디펜던시를 추가해야할 것 같은데, 이 때 app 모듈과 spring version이 충돌날 것 같은데 어떻게 해결하셨는지 궁금합니다.. 이 경우는 도통 괜찮은 방법이 안떠올르더라구요...
@wicksome
안녕하세요 :)
저같은 경우는 모두 스프링부트 프로젝트여서 core 모듈을 제외한 모든 모듈에서 spring-boot-starter
기본 의존을 갖도록 설정해두었습니다.
gradle 루트에서 dependency management 를 해주기때문에 버전 간 충돌은 없습니다. 혹시 어떤 설정으로 버전 충돌이 생기시나요?
아! 그럼 client들한테 @Service
어노테이션은 다 붙어있겠군요?
@wicksome
가급적 하위 모듈에서는 Component
어노테이션 대신 Configuration
을 통한 Bean
선언을 해주고 있습니다 :)
Conditional~
조건으로 사용하는 모듈에서 구현체를 변경시킬 수 있는 유연함을 제공하기 위함입니다.
멀티모듈 설계 이야기 with Spring, Gradle - Kingbbode
개발 블로그
https://blog.kingbbode.com/posts/multi-module