본문 바로가기

Development/Web & Server

[Play Framework] 경량 DI Framework 사용하기 (Google guice)

스프링처럼 Play에서도 DI를 사용할수 없을까? 라는 생각에 DI Framework를 찾아보았고 그 결과 google guice라는 것을 알게되었다.


바로 Play Framework에 적용~!!!


1. 라이브러리 Maven 설정 pom.xml


    <dependency>

<groupid>com.google.inject</groupid>

<artifactid>guice</artifactid>

<version>3.0</version>

</dependency>


2. play에서 라이브러리 설정~! build.sbt


"com.google.inject" % "guice" % "3.0"


3. 테스트  interface & Class 작성




@Singleton으로 하나만 생성하여 사용하게 만듬




4. Moudle 만들기 여기서 bind 함수를 호출하여 객체를 만든다.~!



5. 객체 주입하기~! 생성자에 @Inject와 Class에 @Singleton으로 만들어준다. 그러면 guice에서 TestRpc를 만들때 자동으로TestJnjectionInterface로 만든 Impl클래스를 넣어준다.



6. 실제로 생성하기

Injector를 만들때 아까전에 만든 TestInjectionModule을 만들어서 넣어주면 완성 그리고 사용할 떈 getInstance(클래스)를 하면 된다.