2013-08-22 4 views
1

나는 play가 guice DI에서 Controller 클래스를 지원하는 전역 # getControllerInstance를 제공한다는 것을 알고 있습니다.guice로 Play Framework 2.1.3

하지만이 방법은 Controller 클래스에서만 작동하는 것 같습니다. 이제 다른 클래스 (내선 컨트롤러가 아닌)에 일부 서비스 클래스를 주입하려고합니다. 내가 어떻게 해? 당신이 당신의 모듈이 설정 한 후 나는 많은 구글 아직 해결책을 찾을 수 없습니다

...

+0

정기적 인 Guice 주입을 사용하십시오. 예제를 보려면이 기사를 살펴보십시오. http://eng.42go.com/play-framework-dependency-injection-guice/ –

+0

안녕하세요, nico,이 링크는 글로벌 # getControllerInstance를 사용하는 방법을 설명하고 경로를 설정합니다. @가 있지만 컨트롤러 클래스에서만 작동합니다. – yukuan

+0

안녕하세요, nico, tks, 이해합니다. – yukuan

답변

2

(the blog post linked above is helpful), 당신은 단지 재생과 관련이없는, 평소처럼 직접 분사 또는 생성자 주입을 사용할 수 있습니다! . 생성자 주입 예 :

class SomeClass @Inject() (dependencyA: DependencyA, userRepo: UserRepo) { 
    // then, use `dependencyA` and `userRepo` 
} 

그렇다면, 제어기 내부에서, 단지 SomeClass의 인스턴스를 주입.

guice 용 스칼라에서 더 나은 API를 보려면 scala-guice을 참조하십시오.

+0

tks, Andrew, 나는 내 문제를 해결했다. :) – yukuan