LoginSignup
11
11

More than 5 years have passed since last update.

javaのDIコンテナ"Dagger"のサンプル動作方法

Posted at

A fast dependency injector for Android and Java
http://square.github.io/dagger/
日本語ドキュメント
http://hajimes.github.io/dagger/

AndroidでDIコンテナを使いたくて、Daggerにたどり着きました。
使い方に慣れるために、まずはjavaでサンプルを動作させましょう。
私はgradle派なので、build.gradleを書いて動作させました。

  1. git clone https://github.com/square/dagger.git
  2. cd dagger/examples/simple
  3. build.gradleを以下の内容で作成
  4. gradle run
build.gradle
apply plugin: 'java'
apply plugin: 'application'
repositories {
    mavenCentral()
    maven { url "https://oss.sonatype.org/content/repositories/snapshots/" }
}
dependencies {
    compile 'com.squareup.dagger:dagger:1.+'
    compile 'com.squareup.dagger:dagger-compiler:1.+'
}
mainClassName = 'coffee.CoffeeApp'

で、OKです。後は、適当にサンプルをいじってみて、@Inject, @Provides, @Moduleに慣れましょう。Androidで試すよりも、javaのが手っ取り早くて楽っすなー。

なお、ほぼシェル的にMakefileで実行したい場合は下記の通り。ライブラリのバージョンやパス等は適宜読み替えてください。

Makefile
CofeeApp.class:
    javac -cp "libs/dagger-compiler-1.2.1.jar:libs/dagger-1.2.1.jar:libs/javax.inject-1.jar:libs/javawriter-2.5.0.jar" src/main/java/*.java

clean:
    rm *.class *.java

run:
    java -cp ".:src/main/java:libs/dagger-compiler-1.2.1.jar:libs/dagger-1.2.1.jar:libs/javax.inject-1.jar:libs/javawriter-2.5.0.jar" CoffeeApp
11
11
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
11