@WebService(targetNamespace = "http://zonepower.com/")
配置@WebService的targetNamespace需要读取配置文件中的值而非在代码中写死该如何实现呢?
伊谢尔伦2017-04-17 17:00:51
それは無理な気がします。
ただし、動的にしたい場合は、アノテーション@WebService
の実行タイミングを調整する必要があります。
少なくとも RetentionPolicy.RUNTIME
形式では。
UPDATE
対象者がそのような要件を達成するための他の方法を見つけたかどうかに関係なく、アノテーションの観点からは必ずしも解決されるとは限りません。
ここで私の考えを説明します。次のコードでは、Holder
アノテーションの動作をシミュレートするために WebService
アノテーションが使用されます。
まず、ターゲット URL (ターゲット エンドポイント) に解析するには別の Hacker
アノテーションが必要です。もちろん、これは別の方法で行うこともできます。
元のクラスに Hacker
アノテーションのみを設定し、動的解析によってターゲット URL への Hacker
アノテーションを解析し、この URL を使用して Holder
アノテーションを構築し、最後にそれを元のクラスに追加します。 (先に結論をお読みください!!!)
上記の解決策は無効です! ! !
参考リンク:
[1] http://ayoubelabbassi.blogspot.jp/2011/01/how-to-add-annotations-at-runtime-to.html
[2] http:/ /prismoskills.appspot.com/lessons/Super_Java/Dynamically_adding_annotations.jsp