大きなJava 7スタンドアロンアプリケーションで依存性注入を使用したいと思いますが、どこから起動するのかはわかりません。Java 7スタンドアロンアプリケーションの依存性注入
public interface MyInterface {
String getMessage();
}
とインタフェースの実装:インタフェースと
public class Main {
@Inject
MyInterface myInterface;
public static void main(String[] args) {
Main m = new Main();
System.out.println(m.myInterface.getMessage());
}
}
:
Iが小さなテストアプリケーションを書いた
@Singleton
public class MyInterfaceImpl implements MyInterface {
public String getMessage() {
return "Hello World!";
}
}
pom.xml
は、1つの依存関係が含まれています
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>7.0</version>
<scope>provided</scope>
</dependency>
</dependencies>
このアプリケーションはコンパイルされますが、もちろんメッセージを印刷しようとするとNPE
でクラッシュします。注射は起こっていない。
だから、私の質問は以下のとおりです。
- は、Java 7スタンドアロンアプリケーションで実現することが、注射を依存関係することはできますか?
- 動作させるために他にどのような依存関係を含める必要がありますか?
- 誰も簡単な操作例を共有していますか(私は何も見つかりませんでした)?
スタンドアロンアプリケーションの定義は何ですか? –
Webサーバー/コンテナを実行する必要はありません。Java SE ... – JVerstry