Tomcat/Wicket/Hibernate 프로젝트에 Spring 또는 Guice를 사용해야합니까?

StackOverflow https://stackoverflow.com/questions/1463678

  •  13-09-2019
  •  | 
  •  

문제

Linux, Apache, Tomcat, Wicket, JPA/Hibernate 및 MySQL을 사용하는 새로운 웹 응용 프로그램을 작성하고 있습니다. 나의 주요 요구는 의존성 주입이다. Spring과 JTA와 함께 제공되는 거래 지원이 필요하다고 생각하지만 확실하지 않습니다.

이 사이트에는 아마도 약 20 페이지가있을 것이며 큰 트래픽은 기대하지 않습니다.

봄이나 기체를 사용해야합니까?

자유롭게 질문하고 후속 질문을하시면 최선을 다하겠습니다.

도움이 되었습니까?

해결책

개찰구가 따르는 "Do-it-all-in-Java"철학을 좋아한다면 봄보다 기체를 선호 할 수 있습니다. Guice에는 XML 구성이 없습니다. Guice를 사용하여 모두 수행됩니다. Module 수업.

예를 들어, 당신의 개찰구 WebApplication 수업은 다음과 같이 보일 수 있습니다.

public class SampleApplication extends WebApplication
{
    @Override
    protected void init()
    {
        addComponentInstantiationListener(
          new GuiceComponentInjector(this, new GuiceModule()));
    }
}

그만큼 GuiceComponentInjector 개찰구 확장에서 나옵니다. 모듈은 다음과 같습니다.

public class GuiceModule extends AbstractModule
{
    @Override
    protected void configure()
    {
        // Business object bindings go here.
        bind(Greetings.class).to(GreetingRepository.class);
    }
}

이 예에서 Greetings 콘크리트에 의해 구현 된 인터페이스입니다 GreetingRepository 수업. Guice가 a를 주입해야 할 때 Greetings 객체, 그것은 a의 의존성을 만족시킬 것이다 GreetingRepository.

나는 함께 모았다 샘플 프로젝트 Google App Engine 용 개찰구/Guice 응용 프로그램을 구축하는 방법을 보여줍니다. 앱 엔진 세부 사항을 안전하게 무시하고 개찰구 통합의 작동 방식에 중점을 둘 수 있습니다.

다른 팁

Guice와 함께 가면 확실히 확인하십시오. 날실이 지속됩니다 최대 절전 모드를 위해 Guice Servlet Tomcat 및 개찰구 개찰구를 위해.

Spring은 아마도 더 많은 유연성을 줄 것이지만, DI가 필요하다면 Guice가 더 나은 선택 일 수 있습니다.

Spring은 DAO를 더욱 유연하게 만들고 최대 절전 모드와 잘 어울리는 많은 기능을 가지고 있기 때문에 대답하기가 어렵습니다. 원하는 것에 대한 요구 사항이 더 많으면 도움이 될 것입니다.

다음은 Spring과 Guice와 Spring, Guice 및 Picocontainer의 몇 가지 비교입니다.

http://code.google.com/p/google-guice/wiki/springcomparison

http://www.christianschenk.org/blog/comparison-between-guice-picocontainer-and-spring/

Java EE 6의 일부인 CDI/JSR-299를 잊지 마십시오. 용접 개찰구를 CDI와 통합합니다.

(용접 구현을 사용하는 한 (Glassfish V3 및 Jboss 6 Do), 용접기는 다소 작아서 필요한 경우 적응할 수 있습니다).

나는 개찰구 1.4 + weld-wicket + 개찰구-컨트리브 -javaee + EJB 3.1 + JPA 2.0 +를 얻었습니다. 개찰구 (떼) + 스프링 보안 3 + 스프링 3 작은 개념 증명서 응용 프로그램에서 함께 실행됩니다. 그것은 너무 많은 프레임 워크이지만, 아마도 스프링 보안과 스프링이 중복되는 것처럼 보일 것입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top