タグ付けされた質問 「annotations」

プログラミングでは、注釈を使用して、型システムでは表現できない情報をコード要素に追加します。

23
MockitoモックをSpring Beanに注入する
JUnitでのユニットテストの目的で、MockitoモックオブジェクトをSpring(3+)Beanに挿入したいと思います。現在、私のBeanの依存関係は@Autowired、プライベートメンバーフィールドのアノテーションを使用して注入されています。 使用を検討しましたReflectionTestUtils.setFieldが、注入したいBeanインスタンスは実際にはプロキシであるため、ターゲットクラスのプライベートメンバーフィールドを宣言していません。テストのためだけにインターフェイスを変更するため、依存関係へのパブリックセッターを作成したくありません。 私はSpringコミュニティからのアドバイスに従いましたが、モックが作成されず、自動配線が失敗します。 <bean id="dao" class="org.mockito.Mockito" factory-method="mock"> <constructor-arg value="com.package.Dao" /> </bean> 現在発生しているエラーは次のとおりです。 ... Caused by: org...NoSuchBeanDefinitionException: No matching bean of type [com.package.Dao] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: { @org...Autowired(required=true), @org...Qualifier(value=dao) } at org...DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(D...y.java:901) at org...DefaultListableBeanFactory.doResolveDependency(D...y.java:770) constructor-arg値を無効な値に設定しても、アプリケーションコンテキストの起動時にエラーは発生しません。


13
実行時のJavaアノテーションのスキャン[終了]
閉まっている。この質問はスタックオーバーフローのガイドラインを満たしていません。現在、回答を受け付けていません。 この質問を改善してみませんか?Stack Overflowのトピックとなるように質問を更新します。 3か月前に閉鎖。 この質問を改善する 注釈付きクラスのクラスパス全体を検索する最良の方法は何ですか? 私はライブラリーをやっていて、ユーザーがクラスに注釈を付けられるようにしたいので、Webアプリケーションが開始するときに、クラスパス全体をスキャンして特定の注釈を見つける必要があります。 これを行うためのライブラリまたはJava機能を知っていますか? 編集:Java EE 5 WebサービスまたはEJBの新機能のようなものについて考えています。@WebServiceまたは@EJBでクラスに注釈を付けると、システムはロード中にこれらのクラスを見つけ、リモートでアクセスできるようにします。


4
Javaアノテーションメンバーにはどのタイプを使用できますか?
今日、このドキュメントに従って最初の注釈インターフェイスを作成したかったのですが、このコンパイラエラーが発生しました Invalid type for annotation member": public @interface MyAnnotation { Object myParameter; ^^^^^^ } もちろんObject、アノテーションメンバーのタイプとして使用することはできません。残念ながら、一般的に使用できるタイプに関する情報は見つかりませんでした。 これは私が試行錯誤して見つけたものです: String →有効 int →有効 Integer →無効(驚くほど) String[] →有効(意外) Object →無効 おそらく、誰かが実際に許可されているタイプとその理由についていくつかの光を当てることができます。
238 java  annotations 

8
Javaでアノテーションを拡張できないのはなぜですか?
Javaクラスのように、Javaアノテーションに継承がない理由がわかりません。とても重宝すると思います。 例:特定の注釈がバリデーターかどうかを知りたい。継承により、スーパークラスを反射的にナビゲートして、このアノテーションがを拡張するかどうかを知ることができValidatorAnnotationます。そうでなければ、どうすればこれを達成できますか? それで、誰かが私にこの設計決定の理由を教えてもらえますか?


8
Spring @Transactional属性はプライベートメソッドで機能しますか?
Spring Beanのプライベートメソッドに@Transactional -annotation がある場合、注釈は効果がありますか? 場合は@Transactional、注釈がパブリックメソッドである、それが動作し、トランザクションを開きます。 public class Bean { public void doStuff() { doPrivateStuff(); } @Transactional private void doPrivateStuff() { } } ... Bean bean = (Bean)appContext.getBean("bean"); bean.doStuff();

5
コードスタイル; アノテーションの前または後にjavadocを置きますか?
私はそれが最も重要な問題ではないことを知っていますが、アノテーションの前後にjavadocコメントブロックを配置できることに気づきました。コーディング標準として何を採用したいですか? /** * This is a javadoc comment before the annotation */ @Component public class MyClass { @Autowired /** * This is a javadoc comment after the annotation */ private MyOtherClass other; }


12
Python3の「関数アノテーション」の良い使い方は何ですか
関数アノテーション:PEP-3107 Python3の関数アノテーションを示すコードのスニペットに出くわしました。コンセプトは単純ですが、なぜこれらがPython3で実装されたのか、またはそれらの適切な使用法が何であるのか、私には思いつきません。たぶん、SOが私を啓発できるでしょうか? 使い方: def foo(a: 'x', b: 5 + 6, c: list) -> max(2, 9): ... function body ... 引数の後のコロンに続くものはすべて「注釈」であり、それに続く情報->は関数の戻り値の注釈です。 foo.func_annotationsは辞書を返します。 {'a': 'x', 'b': 11, 'c': list, 'return': 9} これを利用できることの意味は何ですか?

2
複数の@SuppressWarningsアノテーションを組み合わせる-Eclipse Indigo
したがって、問題は複数の警告抑制を組み合わせることができるため、各アイテムは独自の@SuppressWarnings注釈を必要としません。 だから例えば: public class Example public Example() { GO go = new GO(); // unused .... List<String> list = ( List<String> ) go.getList(); // unchecked } ... // getters/setters/other methods } 2つではなく@SuppressWarnings、次のように、これら2つの警告に対してクラスレベルで1つ必要です。 @SuppressWarnings( "unused", "unchecked" ) public class Example public Example() { GO go = new GO(); // unused - …

4
ロンボクはどのように機能しますか?
今日ロンボクに会った。 私はそれがどのように機能するかを知りたいと非常に切望しています。 Java Geek Articleはいくつかの手掛かりを与えますが、私には完全に明確ではありません: Java 6はaptを削除し、javacが注釈を管理できるようにし、プロセスを合理化して、より簡単なシングルステップコンピューティングを取得します。これはロンボクがたどった経路です。 多分Java 6では、コンパイルプロセスは次のようになります:javac-> apt-> lombok aptプロセス->クラスファイルを読み取り、ASMを使用してset / getメソッドを追加しますか? メカニズムの詳細を教えてください。
148 java  annotations  lombok 

6
定数Javaから注釈に値を提供する方法
アノテーションとそのパラメーターはコンパイル時に解決されるため、これはJavaでは不可能かもしれないと思います。私は次のようなインターフェースを持っています、 public interface FieldValues { String[] FIELD1 = new String[]{"value1", "value2"}; } そして別のクラスとして、 @SomeAnnotation(locations = {"value1", "value2"}) public class MyClass { .... } 多くのクラスを注釈でマークし、代わりに使用したいすべての注釈で文字列を指定することを回避できるかどうか知りたい @SomeAnnotation(locations = FieldValues.FIELD1) public class MyClass { .... } しかし、これは注釈値が配列初期化子である必要があるなどのコンパイルエラーを発生させます。文字列定数またはString []定数を使用して注釈に値を提供する方法を誰かが知っていますか?
146 java  arrays  annotations 

9
@Nullableおよび@Nonnullアノテーションをより効果的に使用するにはどうすればよいですか?
私はそれを見ることができる@Nullableと@Nonnull注釈ができ予防に有用であるNullPointerExceptionのを、彼らは非常に遠くに伝播されません。 これらの注釈の有効性は、1レベルの間接参照の後に完全に低下するため、ほんの数個追加しただけでは、あまり伝播しません。 これらの注釈は十分に実施されていないため、でマークされた値@Nonnullがnull ではないと想定し、その結果nullチェックを実行しない危険があります。 以下のコードはでマークされたパラメータが発生@Nonnullするnullいかなる苦情を上昇させずに。NullPointerException実行されるとそれをスローします。 public class Clazz { public static void main(String[] args){ Clazz clazz = new Clazz(); // this line raises a complaint with the IDE (IntelliJ 11) clazz.directPathToA(null); // this line does not clazz.indirectPathToA(null); } public void indirectPathToA(Integer y){ directPathToA(y); } public void directPathToA(@Nonnull Integer x){ x.toString(); …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.