私は溶接の初心者であり、数日間の調査を通じて、溶接の基本的な概念しか知りません。
私はJava SE環境で溶接コンテナを使用するつもりです。Java SEでCDIとJPAを使用する最も簡単な方法は何ですか? 私のコードセグメントは以下の通りです:
public class SayHello {
public SayHello(){}
public void sayHello(){
System.out.println("Hello");
}
}
import javax.inject.Inject;
import org.jboss.weld.environment.se.Weld;
import org.jboss.weld.environment.se.WeldContainer;
public class UseInject {
private SayHello obj;
public UseInject(){}
@Inject
public UseInject(SayHello obj){
this.obj = obj;
}
public void show(){
obj.sayHello();
}
public static void main(String[] args){
Weld weld = new Weld();
WeldContainer container = weld.initialize();
UseInject ui = container.instance().select(UseInject.class).get();
ui.show();
weld.shutdown();
}
}
私のアプリケーションはmavenに基づいています。pom.xmlの jar 依存関係セグメントは次のとおりです。
<dependency>
<groupId>org.jboss.weld.se</groupId>
<artifactId>weld-se-core</artifactId>
<version>3.0.0.Alpha17</version>
私の意図は、SayHello オブジェクトを UseInject オブジェクトに挿入することであり、このアプリケーションの最終出力は "Hello" です。しかし、物事はそれほどスムーズではなく、jvm は次のエラーを報告します。
そして、インターネットから検索すると、空のbeans.xmlを作成しても問題ないということわざがあり、私はそれに従うと効果がありません。そして、主な方法については、私が模倣する Java SEでCDIとJPAを使用する最も簡単な方法は何ですか? Java SE で CDI と JPA を使用する最も簡単な方法は何ですか? @Producesアノテーションを使用します。私もそれを使用する必要があるかどうかわかりません。そして、SayHelloクラスに使おうと思ったのですが、どのjarをインポートすればいいのか分からず、断念。
今私がしたいこと: 1. se アプリケーションの溶接サービスの方法、つまり main メソッドが何をするかを知りたいですか?
2. 溶接を使用してアプリケーションを正常に実行するにはどうすればよいですか?
3. @Produces アノテーションを使用する必要がある場合
そして、私は多くの関連する問題、例えば、weld や java se JUnit テストでweld-se をブートストラップする方法などを参照しましたが、それらはすべて私にとって上級者であることがわかりました。 ご清聴ありがとうございました。