ku-sukeのブログ

Just another hatena blog

Javaのお勉強(Spring,MVC,JRebel)

というわけでJavaと久しぶりに戯れております、昨日まではとある社内ソシャゲのコードを読んでたんですが、やはり運用開始後でイベントもモリモリ追加されたあとなので、コードベースが巨大で多重キャッシュの仕組みとか結構複雑なんですよね。

 

またある程度歴史の長い社内ライブラリをベースにしているので、ちょっとイケてない(僕が昔Javaやってた頃のような)実装もあり、渋谷ではたらく@oinumeさんと一緒にもう少し構成をスッキリさせようかという話になりました。

 

  • Spring-core(DI container)
  • Spring-mvc(コントローラ)
  • Freemaker(view)
  • 自社ORM

みたいな感じで決めて、とりあえずそれぞれに慣れるために、上記を組み合わせてHello Worldを作って見ることにしました。

Springの日本語Cook bookがすごい

適当に緑のSpring本とか買おうと思ってたんですが、↓これ

Spring3入門 ――Javaフレームワーク・より良い設計とアーキテクチャ

Spring3入門 ――Javaフレームワーク・より良い設計とアーキテクチャ

ググってたら日本語でCook bookの超大作を公開されている方がいらっしゃいました。

こちらです。

Spring MVC 3.0/3.1/3.2 Cookbook - タツノオトシゴの日記

Mavenの知識が少しいるけど、Mavenでアーキテクトタイプをwebappにして、このPDFの内容をコピペしながら組み込んでいったところ、すぐに動作させることができました。

 

また、自分はSAStrutsやSlim3などSeasar系のHot Reloadingに慣れていたので、Springでもなんとか実現したいなと思っていました。ググってもあんまり情報はなかったのですが、JRebel入れたらいけるらしいよ。と教えてもらいました。

 

JRevel:

http://zeroturnaround.com/software/jrebel/

 

会社で使うには年間3万6000円くらいなのですが、本当に良かったら買ってもいいんじゃないかみたいな期待を持たせてもらったので早速検証してみました。ちなみに個人のOSS開発者は無償で利用できます。

結果は、、

 

できた!!!一瞬でできちゃったよ!!

 

Javaのコードなり、JSPなりを保存して(もtomcatのコンテキストリロードは発生しない)すぐにブラウザのリロードを実行すると、約5-10秒くらいで反映済みのクラスが実行されブラウザに変更が反映されたのです。

 

プロジェクトを右クリックして、JRebelネイチャーを追加、を選んでTomcatをリロードするだけのお手軽。かなり嬉しくて周りのエンジニアを呼んで画面をみせびらかしました。

 

あと、JRebelのEricから速攻電話とメールが来たので焦りましたw もし買いたい企業がいれば、クーポンコードよこせくらいは言えると思います:-P