그래서 저는 단순히 웹과 서비스라는 두 개의 자식 모듈을 가진 다중 모듈 Maven 프로젝트를 가지고 있습니다. 웹 레이어에는 컨트롤러에 단 하나의 컨트롤러와 하나의 메소드가 있으며, 단순히 컨트롤러의 개 연령을 화면에 표시합니다.스프링이있는 다중 모듈 Maven 프로젝트 - 웹 레이어 또는 서비스 레이어에 Spring을 포함합니까?
개가 어디서 왔습니까? 그럼 기본적으로 Dog Store/Service를 포함하는 '서비스'계층 인 또 다른 모듈을 가지고 있으며이 Dog Store는 실제로 주어진 시간에 하나의 Dog 객체 만 포함합니다 (이것은 학습 목적을위한 것입니다).
내 Dog 상점에 Dog 객체를 autowire하기 위해 서비스 모듈에서 Spring의 Dependency Injection 기능을 사용해야합니다. Spring의 D.I.가 분명히 필요합니다. 기능을 내 Dog 컨트롤러에 Dog Store/Service를 autowire하기 위해 웹 모듈에 포함시켜야하지만, POM.xml에 Spring 종속성이 포함되어야하는지 잘 모르겠습니다.
내 질문은이 : 나는 서비스 모듈 및 웹 모듈 모두에서 봄 의존성을 넣어해야합니까? 최종 프로젝트는 사실 웹 모듈을 기반으로 구축 될 것입니다. 웹 모듈에는 서비스 모듈에 대한 종속성이 있습니다 (Dog Service 및 Dog 객체 클래스가 필요하기 때문에).
스프링을 내 서비스 모듈에 종속성으로 포함시키지 않으면 @Autowire와 같은 주석을 사용할 때 컴파일러가 놀라 울 것입니다. 그래서 이것은 약간 혼란 스럽습니다. 어떤 모듈을 스프링 의존성에 넣을 수 있습니까?
아마도 전체 Spring Web MVC 종속성을 서비스 모듈에 넣고 웹 모듈이 다운로드 한 Spring jar뿐만 아니라 모든 사용자 정의 서비스 클래스를 상속하게 할까? (다시 말하면, 웹 모듈은 서비스 모듈에 의존 할 것이다.) 이것은 스프링 웹 MVC에 의존하는 서비스 모듈이 아니기 때문에 조금 직관적 인 것처럼 보입니다. 실제로, 서비스 모듈은 Spring Context 만 필요로한다. 그러나 여기서의 혼란은 "FINAL"스프링 컨텍스트 (Dispatcher Servlet 등)가 웹 모듈 빌드에서 한 번만 사용된다는 것입니다.
저는 웹 모듈이 빌드 한 클래스를 상속 할 수 있도록 서비스 모듈을 만들뿐입니다.하지만 웹 모듈은 서비스 모듈에서 스프링 클래스를 상속 받아야하며, 그렇지 않으면 웹 모듈이 서비스 모듈에서 상속해야합니다. 실제로 스프링 클래스를 자체 POM.xml로 선언 하시겠습니까? 만약 후자의 옵션이라면, 서비스 모듈은 스프링 프레임 워크의 주석과 다른 것들을 의존성없이 사용하고 있다는 것을 알았을 때 서비스 모듈이 놀라지 않을 것인가?
나는 그게 많다는 것을 알았지 만, 나는 내 상황에서 가능한 한 명확 해 지려고 노력했다. 나의 질문이 의미가 있기를 바랍니다. 귀하의 답변 주셔서 감사합니다!