아마도 Spring MVC의 전문가에게는 어리석은 질문 일 수 있습니다. 그러나 이것이 내가 후드에서 어떻게 작동 하는지를 모릅니다.Spring MVC와 Guice를 통합 할 수 있습니까?
같은 질문에 대한 또 다른 문구 : Spring MVC 내부의 Spring DI에 대한 의존성이 있습니까?
아마도 Spring MVC의 전문가에게는 어리석은 질문 일 수 있습니다. 그러나 이것이 내가 후드에서 어떻게 작동 하는지를 모릅니다.Spring MVC와 Guice를 통합 할 수 있습니까?
같은 질문에 대한 또 다른 문구 : Spring MVC 내부의 Spring DI에 대한 의존성이 있습니까?
IOC 컨테이너없이 Spring MVC를 사용할 수 없다고 확신한다.
예 : Spring MVC의 핵심에는 DispatcherServlet
이 있습니다. DispatcherServlet이 다음 방법을 사용하여 자체를 초기화 :
/**
* This implementation calls {@link #initStrategies}.
*/
@Override
protected void onRefresh(ApplicationContext context) {
initStrategies(context);
}
/**
* Initialize the strategy objects that this servlet uses.
* <p>May be overridden in subclasses in order to initialize
* further strategy objects.
*/
protected void initStrategies(ApplicationContext context) {
initMultipartResolver(context);
initLocaleResolver(context);
initThemeResolver(context);
initHandlerMappings(context);
initHandlerAdapters(context);
initHandlerExceptionResolvers(context);
initRequestToViewNameTranslator(context);
initViewResolvers(context);
}
그래서 당신이 볼 수있는 모든 긴밀하게
ApplicationContext
인터페이스와 통합됩니다.
그래서 유일한 기회는 Guice 구현 ApplicationContext를 갖는 것이고, 이것은 매우 멀리 가져올 것입니다.
Spring IOC 컨테이너를 사용하지 않고 좀 더 원시적 인 Spring MVC 기능을 사용할 수 있어야한다. 이것이 결국 IoC의 모든 부분이다.
많은 MVC 구성 요소가 Guice가 알 수없는 스프링 소유의 라이프 사이클 콜백 (예 : InitializingBean
및 DisposableBean
)을 사용하기 때문에 어려워 질 것입니다. 너 스스로 그걸 처리해야 해.
더 좋은 질문은 입니다. 왜이 작업을 원하십니까? Spring IoC가 사용되지 않으면, Spring MVC는 대부분의 매력을 잃어 버린다. 나는 왜 당신이 다른 하나없이 하나를 사용하고 싶을지 모르겠다.
클라우드에서 Spring을 사용할 여유가 없습니다. 새로운 인스턴스를 시작하는 데 너무 오래 걸립니다. 그리고 프런트 엔드 개발을 위해 MVC가 필요합니다. 또 다른 옵션으로는 Struts, Stripes 및 간단한 MVC 구현이 있습니다. – Roman
Struts2는 Guice와 잘 통합되어 있습니다. Stripes에 대한 좋은 점도 들었습니다. Guice와 얼마나 잘 통합되어 있는지 잘 모르겠습니다. –
당신은 [구글 - sitebricks]에서 모습을 찍은 적이 (http://code.google.com/p/google-sitebricks/)? – ColinD