java

Struts1ユーザにGrailsをオススメする6の理由 - The search is over -

Struts1のEOLがアナウンスされました。 最後のリリースから長く時間が経過しており、実質開発は終了している状態でしたが、このタイミングでのアナウンスとなりました。 アナウンスの中では、次の乗り換え先として、Struts2・Spring Web MVC・Grails・Stripe…

Mountain Lionで~/.MacOSX/environment.plistがきかない

http://d.hatena.ne.jp/y_sumida/20120805/1344134360 をみてて~/.MacOSX/environment.plistでグローバルに設定できたよなと思いつつ、ローカルの環境を確認してみるとうまく動いていない...Mountain Lion以前までは以下の方法で回避していたのですが https:…

Spring 3.1がやってくる

先日 Spring 3.1 の RC1 が出ました。新機能は以下のとおり。http://static.springsource.org/spring/docs/3.1.0.RC1/spring-framework-reference/html/new-in-3.1.html3.1 GA release を11月末にリリース予定で、その間にRC2を出すとのことです。

Spring Data JPA で遊んでみる まとめ

いろいろ紹介してきましたが、全部以下に書いてあるので、ざっと目を通すといいかなぁと思います。http://static.springsource.org/spring-data/data-jpa/docs/current/reference/html/#repositories.custom-implementations色々触ってみた感想は、Spring で…

Spring Data JPA で遊んでみる 〜その11〜

ここまで紹介てきたクエリの発火方法で、恐らくほとんどのことができるんじゃないかと思います。ただ、どうしても自分で実装を持ちたくなるような時もあります。Spring Data JPA では定義したリポジトリのインタフェースに対し、独自の拡張クラスを作成する…

Spring Data JPA で遊んでみる 〜その9〜

昨日のSpecificationの続きでSpecificationを複数組み合わせて使う際に便利な、Specificationsというヘルパークラスが用意されている。 public class Specifications<T> implements Specification<T> { private final Specification<T> spec; private Specifications(</t></t></t>…

Spring Data JPA で遊んでみる 〜その10〜

Spring Data JPA では Querydsl なるものがサポートされています。 http://www.querydsl.com/色々機能があるみたいですが、カンタに言うとEntityクラスからAPTでメタ情報のクラスを生成して、そのクラスを利用してタイプセーフで流れるようにクエリが書ける…

Spring Data JPA で遊んでみる 〜その8〜

Specificationの話です。SpecificationはDDDのパターンの一つですが、JPA2から導入されたCriteriaを利用して、Spring Data JPAではSpecificationパターンみたいなことが出来ます。Specificationを使用するにはリポジトリの定義でJpaSpecificationExecutorを…

Spring Data JPA で遊んでみる 〜その6〜

次はメソッドの定義です。Spring Data JPA はメソッドからクエリを自動生成しますが、そのメソッド名には命名規則があります。まず戻り値はRepositryに指定している総称型のエンティティのListか、もしくは、そのエンティティにします。Listの場合はJPAのget…

Spring Data JPA で遊んでみる 〜その7〜

名前付きクエリの話。JPAはもともとこの名前付きクエリをサポートしています。エンティティにつけるアレです。 @Entity @NamedQuery(name = "Emp.findByUseNamedQuery", query = "select e from Emp e where e.id > ?1") public class Emp { // .. これをSpr…

Spring Data JPA で遊んでみる 〜その5〜

query-lookup-strategyについて。 Spring Data は リポジトリに定義されたメソッドから自動的にクエリを生成することができますが、その戦略です。設定は3つあります。 CREATE USE_DECLARED_QUERY CREATE_IF_NOT_FOUND CREATEはメソッドからクエリを生成しま…

Spring Data JPA で遊んでみる 〜その4〜

こんどは public interface PagingAndSortingRepository<T, ID extends Serializable> extends CrudRepository<T, ID> { // ... Page<T> findAll(Pageable pageable); } のPageableを使ってみる。なんとなく何するものかわかりますが、ぺーじゃーてきなあれです。Pageableの実装クラスは今のところP</t></t,></t,>…

Spring Data JPA で遊んでみる 〜その1〜

beta版の時に少し遊んだのですが、気がつけば 1.0.1.RELEASE なんてのが出ててたので改めて触って見ました。Spring Data は Springのアプリケーションで簡単にPersistanceの機能を作るためのアレで、Spring Data JPAはそのJPAバージョンです。この他にもNoSQ…

Spring Data JPA で遊んでみる 〜その3〜

その2の続きです。前回あった List<T> findAll(Sort sort); というSortという面白そうなのがあるので、使ってみます。基本は、Sortをnewして使うのですが、Orderクラスと絡ませたり、Stringでプロパティで食わせたりと、幾つかアプローチがあるので、掻い摘ん</t>…

Spring Data JPA で遊んでみる 〜その2〜

その1の続きです。その1で使った JpaRepositry のインタフェースですが、その継承関係は上の様になっています。JpaRepositryだけがSpring Data Jpaのパッケージにきられており、その他は Spring Data Commons Core という Spring Data で共通のパッケージと…

Nettyのアーキテクチャあたりの訳

前回の続き。ほとんどグーグル先生頼り。元ネタ: http://docs.jboss.org/netty/3.2/guide/html_single/index.html#architecture

Nettyのやろうとしていること

ドキュメントのあたまを少しだけ訳してみた。 ほとんどグーグル先生頼り。元ネタ: http://docs.jboss.org/netty/3.2/guide/html_single/index.html#preface The Problem 今日では、相互に通信するために汎用的なアプリケーションやライブラリを使用します。…

SpringのMavenリポジトリをブラウザから操作する方法

SpringのMavenリポジトリはhttp://maven.springframework.orgなのですが、S3を使っているらしくブラウザからはぽちぽちと操作出来ません。そんなこんなで以下からアクセスすると見れるようになります。 http://s3browse.springsource.com/browse/maven.sprin…

Java SE 7 リリース記念特別イベントの懇親会でLTしてきました

あまり誰も喋らないだろうなぁというところを探してネタにしてみました。 相変わらず外でしゃべることには慣れておらず、途中で何か桜庭さんに突っ込まれた気がするのですが(Throwable#addSuppressedあたり?)、緊張のあまり記憶がありません...とありあえず…

はじめてのIntellij IDEA - Complete statemen

[command+shift+return]で最後に;が入るになる。何か選択状態で [command+shift+return]おす 記述中に [command+shift+return]おす eclipseだと自動的に;が入力された最後に入れる設定ができるけど、Intellij IDEAではないのかな?

はじめてのIntellij IDEA - quick-fixes

[alt+return]。eclipseと違って、警告とか、エラーのあるところでしか使えないっぽい。存在しないクラス書いて[alt+return]したときはこんなん。

はじめてのIntellij IDEA - Instant Completion

基本は[ctrl+space]みたい。ただし、それ以外にもいくつかctrl+spaceのバリエーションがある。 http://blog.livedoor.jp/beyondseeker/archives/50968636.html Basic (Ctrl + Space) Smart Type (Ctrl + Shift + Space) Class Name (Ctrl + Alt + Space) Wor…

はじめてのIntellij IDEA - ProjectとModule

じぶんはeclipse使いなのですが、はじめにはまったのがeclipseに当たるworkspace的な何かはないのか?というところ。どうやら名前が違うようだ。 http://www.jetbrains.com/idea/documentation/migration_faq.html Eclipse IDEA Workspace Project Project M…

はじめてのIntellij - Java7

はじめはEclipseでやろうと思ってましたが、Java7に対応のJDTにうまく入れ替えられなく挫折したのでIntellijで試してみることに。http://www.jetbrains.com/idea/ からCommunity Editionの10.5をダウンロードしてインストール。起動してみる。 [Create New P…

MacでJava7を試す。

ちゃんと正式なリリースがあったら然るべきところから提供されると思いますが、とりあえず今試したくなったのでやってみた。http://code.google.com/p/openjdk-osx-build/からOpenJDK-OSX-1.7-universal-xxxx.dmgの方をダウンロード。インストール。 /Librar…

はじめてのIntellij IDEA - アンインストール

とつぜん一度、最初からやり直したい衝動に駆られたので消す。/Applicationsからアプリを削除。あと色々けす。 $ rm -rf ~/Library/Preferences/IntelliJIdea10CE $ rm -rf ~/Library/Preferences/com.jetbrains.intellij.ce.plist $ rm -rf ~/Library/Appli…

はじめてのIntellij IDEA - プラグインのインストール

Settings[command+,]のpluginsから入れられる。 最初からいくつか標準的なものは入っている。 Vimないと生きてけないので。 eclipseのmousefeedみたいな奴らしい。ショートカット要請ギブス的な意味で初めはいれてみる。 最後に再起動を求められる。 再起動…

H2のログを出す

URLをこんな感じにします。以下はインメモリで起動したときでの例。 jdbc\:h2\:mem\:test;DB_CLOSE_DELAY\=-1;TRACE_LEVEL_FILE\=4O/Rマップとか使用していると、どうしても実際に発行されているSQLがみたくなります。Hibernate側でもSQLを出力したり出来ま…

Eclipse WTP Tomcat hot deploy

元ネタ http://ducquoc.wordpress.com/2010/11/06/eclipse-wtp-tomcat-hot-deploy/EclipseでWebプロジェクトを作るときはWTPを使っています。tomcatプラグインなんてのもありますが、mavenでのライブラリ管理と相性がイマイチなので最近はもっぱらWTPです。…

JSR 303 Bean Validationで遊んでみるよ!

その名のとおりJavaBeansの為のValidationの仕様であるJSR303ですが、近頃でもないですがHibernateはもちろん、その他SpringやOvalなどの周辺フレームワークの対応が進んでずいぶん使いやすくなってきました。ところでアプリケーション作っててValidationの…