Spring Framework

Spring MVCのJson変換機能で@DateTimeFormatが無視される件の対処方法

以前に、Spring MVCのJson変換機能について紹介しました。 Spring MVCでJSONデータを返すための手順 - 達人プログラマーを目指して また、Springの型変換サービスについても以下で紹介しました。 SpringのJavaBeansアクセスAPIと型変換サービスは単独で利用…

JBoss AS5.1上でJPAを完全にSpring駆動で実行させる方法

JPAプロバイダーを起動するしくみがJavaEE5対応のアプリケーションサーバに組み込まれているため、JPAの仕様に従って、META-DATA/persistence.xmlファイルが格納されていると、アプリケーションサーバーによって読み込まれて処理されます。読み込まれたJPAの…

SpringのJavaBeansアクセスAPIと型変換サービスは単独で利用しても利用価値が高いという事実

Spring Frameworkはもともと、面倒なJavaEE環境における開発を簡易化する軽量のDIコンテナーとして有名になったので、あまり、そういうイメージがないのですが、実は、JavaSEのAPIを簡易化するためのライブラリーとしてもかなり良く設計されていると思います…

SpringのTypeDescriptorを使うと型パラメーターを簡単に取得できる

以前に、Java5の型システムを理解するにはリフレクションAPIを使ってみるのが最短の近道になる - 達人プログラマーを目指してで、Java5からリフレクションAPIで総称型を扱うために導入されたTypeインターフェースについて説明しました。復習しておくと、 Cla…

Spring MVCでフラッシュスコープの機能を簡単に実装する方法

JSF2.0やSeamなど、新しいフレームワークではフラッシュスコープという機能を利用することができます。これはもともとRuby on Railsで有名になった処理方式だと考えられますが、フラッシュにデータを登録しておくと一回のHTTPリダイレクトの最中のみデータが…

システム系の例外は実行時例外+AOPでハンドリングするのがベスト

インフラ層のチェック例外はやはりJavaのBad Partだと思う 先日のJava言語のチェック例外は本当にGood Partなのか? - 達人プログラマーを目指してで、 インフラ層のフレームワークなどでは実行時例外が適切 ということを書いたのですが、この点についてもう…

jXLS Readerを使ってアップロードされたExcelファイルを読み込む

先日、jXLSを使ったExcelテンプレートをSpring MVCのビューとして利用する方法 - 達人プログラマーを目指してでjXLSを使ってExcelファイルを生成してダウンロードする方法について説明しました。ここでは逆に、アップロードされたExcelファイルを読み込んでP…

jXLSを使ったExcelテンプレートをSpring MVCのビューとして利用する方法

jXLSを使ってJSPと同様の方法でExcelファイルを生成する 業務アプリケーションでは好むと好まざるとにかかわらず、Excelファイルの入出力を行う必要がある場合が多くあります。JavaからExcelファイルの読み書きを行うOSSのライブラリーはいくつかありますが…

Spring MVCでコントローラーのリクエストハンドラメソッドのメタ情報を記録する方法

正攻法でアクションハンドラメソッドのメタ情報を取得することは困難 開発で利用するフレームワークを作成する際には、実行対象となるオブジェクトの型やメソッドに付けられたアノテーションなどのメタ情報を利用したい場合が多くあります。特に、Spring MVC…

Spring MVCでJSONデータを返すための手順

バージョン3以降のSpring MVCでは、コントローラーのメソッドからJSON文字列を簡単に返却させることができます。以前のバージョンでもビュークラスを独自に拡張することでJSONの返却は一応可能でしたが、最新バージョンでは非常に簡単にJSON対応させることが…

Spring MVCでセッション属性のキーをコントローラーごとに別々にするには

Spring MVCで、フォームBean*1をセッションスコープに格納して処理をしたい場合、以下のように@SessionAttributesアノテーションをコントローラークラスに付加することで行うことができます。また、処理の完了時には SessionStatusをパラメーターで受け取り…

SpringはエンタープライズJava開発者に夢と希望を与えている

Spring Frameworkというと、Seasar2と共にDIとAOPの軽量コンテナーとして知られており、オープンソースのJavaのフレームワークであるというというのがいまだに多くのJava開発者の間では常識かもしれません。しかし、SpringSource社が2009年の夏にVMWare社に…

EJBコンテナー、Webコンテナー内で管理されたJMS接続から同時に複数のSessionを生成できない

以下の条件を満たすとJBoss Messaging + Spring MDPの環境で以下の例外となります。 java:/JmsXAからXA対応(JCAのリソースアダプター経由)の接続ファクトリを使用 concurrency属性を2以上に設定 cache属性をsession以上に設定 javax.jms.JMSException: Cou…

Spring TestでJBoss Embeddedサーバーを利用するための手順

Seamの場合最初からSeamTestというフレームワークが付属しており、Embedded JBossサーバーを使ってJBossの機能をTestNGのテストクラスから実行できます。同様にして、Spring Frameworkに付属しているSpring Testを利用して、Springベースのアプリケーション…

Spring MVCのススメ

先日、Struts1に代わるWebフレームワークの選択 - 達人プログラマーを目指してにて、現状アクションベースのMVCフレームワークとしてはSpring MVCが有望ということを書いたのですが、今までStrutsの影に隠れてあまり人気がないようですね。*1これから何が流…

Struts1に代わるWebフレームワークの選択

先日書いたいつまでStruts1を使い続けるの? - 達人プログラマーを目指してが想像以上の反響の大きさで驚いています。こんなにたくさんブクマいただいたのはブログ開設以来初めてです。政治的理由でフレームワークが最初から天下り的に与えられてしまい、結…

JBoss ToolsとSpringSource ToolSuiteの機能を併用する方法

SpringベースのアプリケーションをJBoss ASにデプロイしたり、SeamとSpringを併用したりするような場合に、JBoss ToolsとSpringSource ToolSuiteの機能を併用できると便利です。SpringSource ToolSuiteを先にインストールして、後からJBoss Toolsをプラグイ…

SpringSource ToolSuite2.5.1がリリースされました

SpringSource Tool Suite 2.5.1 released 2.5のリリースからそれほど間隔が開いていないのでが、SpringSource ToolSuite2.5.1がリリースされたみたいです。GrailsとかGroovyのサポートが強化されているようです。今後Springを使う場合 古典的なJavaベースの…

Spring JMSでトランザクションを設定する3種類の方法について

Spring Frameworkでトランザクション対応のJMSメッセージ送受信を行う方法について簡単にまとめます。 前提知識 JMSのメッセージ送受信については トランザクションなし Sessionにローカルなトランザクション JTAのグローバルトランザクションに参加(XA対応…

CORBA関連のJava技術について

CORBAで実装されたレガシーなサービス(課金関連?)をJavaのWebアプリケーションと連携させる仕事を担当することになりそうなので、今更ですがCORBA関連のJava技術に関して調査してみました。簡単に結果を以下にまとめます。 CORBAとは Common Object Reque…

Spring Tool Suite 2.5.0の正式リリース版が公開されました

http://www.springsource.com/developer/stsからSpring Tool Suite 2.5.0の正式リリース版が無料でダウンロードできるようです。同時にSpring3.0.5とSpring Rooの1.1もリリースされているようです。

AspectJ in Action

AspectJ in Action: Enterprise AOP with Spring Applications作者: Ramnivas Laddad出版社/メーカー: Manning Publications発売日: 2009/10/08メディア: ペーパーバック クリック: 6回この商品を含むブログ (2件) を見るManningのin actionシリーズはMEAP(…

JMSのConnection, Session, Consumerをキャッシュすべきかどうか

アプリケーションサーバー内からデータベースにアクセスする際にはJDBCの接続オブジェクトがプールされているということはJava EEでは常識です。したがって、アプリケーションロジックでConnectionオブジェクトを保持せず、接続を利用するたびに新規に接続を…

軽量Javaフレームワークを世の中に広めた名著

Expert One-on-One J2EE Development without EJB作者: Rod Johnson,Juergen Hoeller出版社/メーカー: Wrox発売日: 2004/06/18メディア: ペーパーバック購入: 1人 クリック: 8回この商品を含むブログ (24件) を見るこの本を読んだのは5年以上前のことですが…

Seam vs Spring

私自身仕事でSeamを使って開発をした経験はないのですが、今回技術調査をして簡単なアプリケーションを作ってみた感想としては、「考え方に慣れるとかなり便利であり、適合する案件ならば是非積極的に使ってみたい」というよい印象を持ちました。Seamは一般…

Spring MVCの設定でContextLoaderListenerを使う必要があるケース

従来のSpring開発者の常識では、web.xmlにて ContextLoaderListenerを設定してWebアプリケーションで共通のコンテキストを読み込む DispatcherServletを設定して、サーブレットごとのコンテキストを読み込む というように2階層のアプリケーションコンテキス…

Spring Recipesの第2版が届きました

Spring Recipes: A Problem-Solution Approach作者: Gary Mak,Daniel Rubio,Josh Long出版社/メーカー: Apress発売日: 2010/09/15メディア: ペーパーバック クリック: 6回この商品を含むブログ (1件) を見る本日、amazon.comで注文していたSpring Recipes: A…