2011-08-03 3 views
1

com.google.inject. * 대신에 JSR-330 javax.inject. * 주석을 사용하고 있습니다. JSR-330 표준에는 Guice에서 내가 좋아했던 몇 가지 기능이 포함되어 있지 않은 것 같습니다.@Assisted와 동등한 javax.inject. *가 있습니까

특히 @Assisted 키워드는 지원되지 않습니다. 또한 @AssistedInject는 어떻습니까? @Inject는 여러 생성자에 배치 할 수 있습니까?

저는 중립적 인 제품에 관심이 있지만 편리한 기능을 사용하지는 않습니다. 어떤 추천? 귀하의 질문 중 하나에 대한 대답에서

+0

JSR-330은 API가 아니라 구현 된 것입니다. –

+0

본인은 API 일뿐입니다. 그러나 @Assisted의 사용은 소스 코드 전체에 임베드됩니다. API의 일부가 아닌 경우 필요하다면 "다른 DI 프레임 워크로 전환"할 수 없습니다. Spring에 대해서는 많이 알지 못하지만이 작업을 수행하는 데 근본적으로 다른 접근법이 있다고 가정합니다. – scubadev

+0

API의 일부가 아닙니다. 진정한 DI 프레임 워크 독립성을 원한다면 API를 엄격하게 코딩해야합니다. –

답변

4

@Assisted은 Guice 전용입니다. JSR 330의 @Inject과 함께 사용할 수 있습니다. Guice 의존성을 원하지 않는다면, 팩토리 인터페이스를 코드로 구현하여 수동 보조 주입을 수행하십시오.

+0

JSR의 향후 개정판에 포함될 것입니다. – scubadev

0

:

여러 생성자에 배치 할 @Inject 수 있습니까? javadoc

주사 생성자에서

은 @Inject 주석과 인수 제로 또는 더 의존성을 허용하고 있습니다. @Inject는 클래스 당 하나의 생성자에 최대 하나까지 적용 할 수 있습니다.

나는 대답이 '아니오'라고 생각합니다.

관련 문제