問題タブ [picocontainer]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
488 参照

dependency-injection - PicoContainer JSR-330 @Named サポート?

PicoContainer は JSR-330@Injectおよび@Named. (いいえ、この別の質問は役に立たないようです。PicoContainer サイトが JSR-330 のサポートが追加されたと述べているという事実に対処していないためです。)

次のようにコンテナに何かを追加します。

@Namedコンストラクターのパラメーターを次のようにマークします。

しかし、Fooインスタンスを取得しようとすると、PicoContainer はインスタンスが多すぎBarて選択できないと文句を言います。

質問 1:コンストラクター インジェクションで PicoContainer を使用するにはどうすればよい@Namedですか?

次に、内部でフィールド注入を使用しようとしますFoo.java:

それもうまくいきません。

質問 2: PicoContainer をコンストラクター インジェクション@Injectと連携させるにはどうすればよいですか?@Named

それとも、PicoContainer のニュース ページが間違っていて、単に JSR-330 に対する PicoContainer 2.x のサポートがまったくないのでしょうか?

0 投票する
1 に答える
1670 参照

java - Cucumber-jvm 指定されたパラメーターが次のコンストラクターのいずれとも一致しません: [private java.lang.Class()];

Android で簡単な Cucumber BDD テストをテストしていますが、cucumber エラーが発生します。

このエラーがどこから来ているのかわかりません。何か不足していますか?

私の機能ファイル

ステップ定義

ノート:

  • アンドロイドスタジオ: 1.0.2
  • グラドル: 2.2.1
  • キュウリ: 1.2.0
  • エスプレッソ: 2.0
0 投票する
1 に答える
893 参照

java - ファクトリによって注入されたコンポーネントを PicoContainer に開始/停止/破棄させるにはどうすればよいですか?

すべてのコンポーネントをキャッシュする PicoContainer があります。すべてのコンポーネントをキャッシュするため、コンテナーのライフサイクルの適切な時点で、startstop呼び出すことを期待しています。dispose

ただし、を使用してコンポーネントを構築するFactoryInjectorと、そのコンポーネントもキャッシュされているにもかかわらず、これらのメソッドがまったく呼び出されないことがわかりました。

次の例を見てください。

これを実行した結果は次のようになります。

というわけでstart()、作成してインスタンスとして注入したコンポーネントが起動します。コンストラクター注入によって注入したコンポーネントが構築され、開始されます。しかし、工場経由で注入したコンポーネントからは何も見えません。

ドキュメントに関する限り、Javadoc for show FactoryInjector#startおよび#stopmethods#disposeは、ファクトリがスピンアウトするコンポーネントではなく、ファクトリ自体が独自のライフサイクル処理を実行することを目的としているようです。

ソースをざっと見てみると、アダプターの実装でComponentLifecycleメソッドが呼び出されることがわかりますが、それをフックする方法がすぐにはわかりません。他の実装クラスを見ると、実際にはすべてが別のものに委譲されているようです。実際に何が起こっているのかを理解するのは困難です。

これを行う適切な方法は何ですか?これを行う適切な方法はありますか?

0 投票する
1 に答える
1417 参照

javascript - ページオブジェクトモデルの設計時にBDDキュウリSeleniumを試しているときにこのエラーが発生する

スレッド "メイン" cucumber.runtime.CucumberException: java.lang.AbstractMethodError: cucumber.runtime.java.picocontainer.PicoFactory.addClass(Ljava/lang/Class;)V での例外 cucumber.runtime.java.JavaBackend.addStepDefinition(JavaBackend) .java:154) cucumber.runtime.java.MethodScanner.scan(MethodScanner.java:68) で cucumber.runtime.java.MethodScanner.scan(MethodScanner.java:41) で cucumber.runtime.java.JavaBackend.loadGlue( JavaBackend.java:86) cucumber.runtime.Runtime.(Runtime.java:91) cucumber.runtime.Runtime.(Runtime.java:69) cucumber.runtime.Runtime.(Runtime.java:65) キュウリ.api.cli.Main.run(Main.java:35) at cucumber.api.cli.Main.main(Main.java:18) 原因: java.lang.AbstractMethodError: cucumber.runtime.java.picocontainer.PicoFactory .addClass(Ljava/言語/クラス;)V at cucumber.runtime.java.JavaBackend.addStepDefinition(JavaBackend.java:149) ... 8 もっと見る

0 投票する
1 に答える
730 参照

scala - Cucumber ステップ定義間での変数の受け渡し

Cucumber では、ステップ定義クラス間で変数を渡すにはどうすればよいですか。Scalaで実装しようとしています。

周りを見回すと、Guice や Picocontainer、その他の DI フレームワークの使用を提案する人がいます。しかし、実際には Scala での例に出くわしたことはありません。

たとえば、以下の例では、 DI を使用して変数を渡すにはどうすればよいですか?

Provider.scala、

Consumer.scala、