これがシナリオです。Grailsアプリケーションの外部にurl/username / password/etcを含むファイルがあります。開発者が本番用の接続情報を表示できないようにするための情報。次のようにして、この情報をConfig.groovyに含めます。
grails.config.locations << "file:" + "C:/directory/from/env/variable/data.properties"
次に、POGOでこの情報にアクセスしていました。
import org.codehaus.groovy.grails.commons.ConfigurationHolder
...
ConfigurationHolder.config.url
ConfigurationHolder.config.userName
ConfigurationHolder.config.password
Grails 2.0にアップグレードした後、ConfigurationHolderが非推奨になっていることに気付きました。そこで、ドキュメント(http://grails.org/doc/latest/guide/conf.html)にアクセスして、修正方法を試してみました。ドキュメントには、grailsApplicationを使用して構成値を取得するように記載されています。私の問題は、私がPOGOにいて、grailsApplicationのGrails自動配線が呼び出されないことです。私の質問には2つの部分があります:
1)POGO内でファイルから構成情報を取得するためのより良い方法はありますか?
2)より良い方法がない場合、grailsApplicationをPOGOに注入するにはどうすればよいですか?
追加情報:私はGrails GLDAPOプラグイン(http://gldapo.codehaus.org/)を使用してLDAPディレクトリとインターフェイスしています。これらのオブジェクト(/ src / groovyの下に配置)をドメインオブジェクトと同じように動作させて、静的メソッドを実行できるようにしようとしていますfindBy...(..)
。あなたが提案しているパターンでは、データをフェッチするためにサービスを実行する必要があります。悪くはないですが、Groovyほどではありません:)