spring

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

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

GrailsでアノテーションベースでBeanを登録する

元ネタ Grailsではgrails-app/serviceディレクトリ配下などにクラスを置くと自動的にSpringのbeanとして認識されますが、src/groovyやsrc/javaといったディレクトリでは自動的にはbeanとして登録されません。 src/groovy、src/java配下のクラスをbeanとして…

Spring 3.1 新機能 - AnnotationConfigContextLoader

3.0 から Javaconfig という XML でなく Java のコードで Spring の設定が記述できる機能が追加されていましたが、この機能が Test でも使えるようになりました。従来 3.0 のテストケースは @ContextConfiguration を使用してこんな定義をしていました。 @Ru…

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 3.1 新機能 - Bean Definition Profiles と Environment XML版

3.1からProfileという仕組みを使ってBeanの定義を簡単に切り替えられました。RailsとかGrailsだとかSeasar2とかにも似たのがありますね。それです。やり方はXMLで定義する方法と、Javaのクラスに対してアノテーションを設定する方法がありますが、まずはXML…

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 で共通のパッケージと…

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

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

H2とSpring使っていて、H2のWebサーバを起動する

SpringとHibernateの組み合わせで、データベースにH2を使用してインメモリDBで開発するとかなり便利です。ただインメモリは便利なもののどうしても直接DBのコンソールを触りたくなる時があります。そんなときはH2のWebServerを一緒に起動しておくといいです…

Rooとインタータイプ宣言

Rooのアプトシリーズ中Rooを理解する上で重要な要素の一つがAspectJインタータイプ宣言です。 インタータイプ宣言は,AspectJ などが提供する, 「クラスに新たなメソッド,フィールド等を追加する」仕組みを指します.複数のクラスに共通のメソッドやフィー…

Spring Roo in Action

MEAP (Manning Early Access Program)ですが買えるみたいなので買ってみました。 http://www.manning.com/dickens/目次を見るとあまり目新しい所はないような気がしますが、1章だけ読んでいても知らないことがいくつかあったので、時間がかかりそうですが自…

SpringSourceはRooに本気だ

最近Rooに首ったけのyamkazuです。STS(SpringSource Tool Suite)を使用すると新規プロジェクト作成でSpring Template ProjectというSpringの雛形からプロジェクトが作成できるのですが、Spring MVC Projectを作ったところ、mavenのpom.xmlに... <dependency> <groupId>org.spring</groupid></dependency>…

外部に定義されたPropertyファイルをロードして値チェックとか

さいきん、ちょこちょこSpringを調べててなにかいい方法ないかなぁと思って調べてました。springのproperty-placeholderとJSR303な感じでやってみました。 全体的なプロジェクトのファイルはこんなん。おまけでJSR330も使ってみました。 applicationContext.…