[java] Guice-Persist를 사용하여 데이터베이스 연결 설정하는 방법은?
-
Maven 또는 Gradle 프로젝트에 Guice-Persist를 의존성으로 추가합니다.
Maven:
<dependency> <groupId>com.google.inject.extensions</groupId> <artifactId>guice-persist</artifactId> <version>4.2.3</version> </dependency>
Gradle:
implementation 'com.google.inject.extensions:guice-persist:4.2.3'
-
연결할 데이터베이스에 맞는 JDBC 드라이버를 의존성으로 추가합니다. 이 예시에서는 H2 데이터베이스를 사용합니다.
Maven:
<dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <version>1.4.200</version> </dependency>
Gradle:
implementation 'com.h2database:h2:1.4.200'
-
Guice의
Module
클래스를 상속받은PersistenceModule
을 작성합니다. 이 클래스는 데이터베이스 연결을 위한 설정을 제공합니다. 아래는 H2 데이터베이스를 사용하는 예시입니다.import com.google.inject.persist.jpa.JpaPersistModule; import com.google.inject.AbstractModule; public class PersistenceModule extends AbstractModule { @Override protected void configure() { bindConstant().annotatedWith(Jpa.class) .to("your-persistence-unit-name"); install(new JpaPersistModule("your-persistence-unit-name")); } }
-
Guice의
Injector
를 생성하고PersistenceModule
을 바인딩합니다. 이를 통해 데이터베이스 연결을 설정할 수 있습니다.import com.google.inject.Guice; import com.googld.inject.Injector; public class App { public static void main(String[] args) { Injector injector = Guice.createInjector(new PersistenceModule()); // 필요한 경우, 다른 의존성도 같이 바인딩할 수 있습니다. // e.g. injector.getInstance(MyClass.class); } }
이제 Guice-Persist를 사용하여 데이터베이스 연결을 설정하였습니다. PersistenceModule
에서 데이터베이스 종류에 맞는 설정을 작성하고, Injector
를 생성하여 필요한 곳에서 데이터베이스에 연결할 수 있습니다.