絵描きエンジニアの日常スマートフォン用の表示で見る絵描きエンジニアの日常この広告は、90日以上更新していないブログに表示しています。PluginMinecraftのSpongeプラグインでSpringを使ってみたのでその時のメモです。}ゲーム起動時にApplicationContextを作るだけです。プラグイン以下パッケージをComponentScanするようにしておくと、アノテーションベースの設定ができるようになります。</reporting></project>これがpom.xmlです。注意としてはそのままflat-jarにしてしまうとClassNotFoundExceptionが発生してしまいます。原因はMinecraftのLaunchClassLoaderにあります。このClassLoaderでModが読み込まれるのですが、org.apache.logging以下パッケージが無視されています。2016年9月9日そのため解決策としてmaven-shade-pluginを使ってorg.apacheパッケージをリネームすることで回避しました。Spongeで発生するイベントをSpringのイベントに置き換えてみます。}}このComponentはSpongeのイベントをすべて受け取り、Springのイベントへ変換してイベントを通知します。}}Spongeのイベントを持つだけのラッパークラスを作りました。ここは特に解説は必要ないと思います。}}Playerが入ってきた時のイベントを取ってみました。受け取りたいイベントを引数にとって、EventListenerアノテーションをつけるだけです。Spongeのイベント以外にも独自のイベントを作りたい場合はApplicationEventを継承したクラスを作り、ApplicationEventPublisherへ流すだけです。詳しく知りたい方はこちらを見るのが良いかと思います。https://spring.io/blog/2015/02/11/better-application-events-in-spring-framework-4-2最後に設定です。}SpongeのEventManagerにEventConverterを登録しているだけです。AOPの定番ネタですがロギングです。EnableAspectJAutoProxyしてるだけです。次にロギングのインターセプタを作ります。}}net.orekyuu.spring.serviceパッケージ以下にある全てのpublicなメソッドのどれかが正常終了した時にログを出力しています。ポイントカット式とかの書き方は以下を見ればよいかと。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。