はgroovyの提供などのメカニズムは?
-
13-09-2019 - |
質問
また検索などの機構groovyスクリプトスペースも用意されてい横断的-。
私の例として、webサービスの端点としてgroovyスクリプトとしたいログイン当ウェブサービスプロトコルです。そして暗黙のオブジェクトとしては、当社の枠組みの作成にはログインです。
この定型コードした場合はこのコード毎にwebサービスエンドポイント
お探しのようなものなど)のphpを含むその他のgroovyスクリプトがそのアイデアかるのか?
解決
あなたはすでに私は、あなたのWebサービスの呼び出し<のhref =「http://en.wikipedia.org/wiki/Aspect-oriented_programming」のrel =」を傍受する必要があると言うだろう、「横断的関心事を-」に述べたので、 >「noreferrer nofollowをAOP のスタイル(機構を含んでいない)。
Grailsの完全 Springフレームワークに統合されています、これは春AOPの機能を利用するための良いオプションになります。 Grailsの公式ガイドからこの章を見てみましょう: http://grails.org/doc/latest/guide /14.%20Grails%20and%20Spring.html と単語AOPを検索します。
たぶんそこにAOPを行うの純粋にかっこいい方法があるが、私「Grailsと春に行くdが。
他のヒント
Groovyは(自動ラップのようなものと考える)オブジェクトとしてそのファイルを扱います。そして、それは、クラスなどのJavaクラスパス内のすべての.groovyファイルを利用できるようになります。あなたは、ファイルutil.groovyを持っているのであれば、それはこの内部のようなものが含まれています:
def static AuxMethod() {
return "Hello World"
}
あなただけの書き込みを別のファイルからそれを呼び出すには:
println util.AuxMethod()
それはそれです。ここでも、ちょうどあなたのutil.groovyファイルがクラスパスにあることを確認します。
はu.groovyに元の引数を渡して、現在のスクリプトからスクリプトu.groovy
を起動するには、実行します。
run(new File('u.groovy'), args)
もちろん、あなたはまたにしたい任意の文字列引数を送ることができます
run(new File('u.groovy'),
['one', new File('two.text').absolutePath] as String[])
評価(ファイル)機能を見ます:
Object evaluate(File file)
った研究もこのドメイン固有言語にした。三つの可能性がある。
をクラスとして受け継が親groovyクラスです。を入れて共有コードの基底クラスです。
利用のScriptBaseClass見 http://groovy.codehaus.org/Embedding+Groovy .このクラスにある全てのスクリプトを作成します。
使用、輸入における静的メソッド。ることはできないこのjavaのコンテナを参照 http://mrhaki.blogspot.com/2011/06/groovy-goodness-add-imports.html ).
これらすべての仕事です。私の好みのScriptBaseClass.この作品は最高の場合の共通コードはGroovyのScriptBaseClass 必要 きgroovyクラスです。できませんので、javaのクラスです。)
もちろん、これらすべての項目、また実際に、共通の方法にgroovyのコードです。例えば:
doCommonStuff();
.
. do the rest of it here
.
ことになるすぎずどうしたいと思います。確かに同じもの#includeプリプロセッサです。
最後に、ここへのアクセス権を持っている、javaプログラムを呼び出すGroovyのコードです。がばいいのかわからない場合はそのままご利用いただける静い。でひとつだけで追加コンポーネントです。
import static com.mycompany.mycode.doCommonStuff
doCommonStuf()
.
. do the rest of it here
.