読者です 読者をやめる 読者になる 読者になる

Fight the Future

何かを始めたら、半分成功したのと同じ

Use @GetMapping, @PostMapping in Spring 4.3 or later

I always use @RequestMapping in Controller. @Controller public class TestController { @RequestMapping(value = "test", method = RequestMethod.GET) public String index() { But in Spring 4.3, @GetMapping and @PostMappiing are provided. I was …

Spring MVCでConversion失敗をまとめて処理したいときは@ModelAttributeを使うしかないのかな?

Spring MVCでこういうコントローラメソッドがあるとする。 @RequestMapping(path = "hoge") public String index(@RequestParam @DateTimeFormat(pattern="yyyyMMdd") Date start, @RequestParam @DateTimeFormat(pattern="yyyyMMdd") Date end) { return "h…

Bean ValidationでSpring Expression Languageを使って相関バリデーションする

このエントリで実装を見ていたとき、思いついた。 jyukutyo.hatenablog.com Spring Expression Language(SpEL)でもバリデーションできそうだな〜と。Spring、Hibernate Validatorの利用が前提になってしまうけど。 @SpringELAssertアノテーションというの…

SpringでEhcacheを利用する

いやーSpringは至れり尽くせりな気がする。 There are a few implementations of that abstraction available out of the box: JDK java.util.concurrent.ConcurrentMap based caches, EhCache, Gemfire cache, Guava caches and JSR-107 compliant caches. …

ScalaのSpring MVCコントローラに@AutowiredでInjectする

これの続き。 jyukutyo.hatenablog.com 素直に@Autowiredアノテーションつけるだけでできた。 package hoge import org.springframework.beans.factory.annotation.Autowired import org.springframework.context.ApplicationContext import org.springframe…

Spring MVCのコントローラをScalaで書く

やろうとした理由は…単なる思いつき。 調べたらいろいろな方が試されてました。手順をまとめておく。 既存のアプリケーションがMavenなので、Mavenで管理する方針で。scala-maven-pluginなるものがあるので、これを使う。 <pluginManagement> <plugins> <plugin> <groupId>net.alchim31.maven</groupId> <artifactId>scala-maven</artifactid></plugin></plugins></pluginmanagement>…

SpringでBean ValidationのMethod Validationを使う

公式リファレンスにはこうあった。 Spring-driven Method Validation The method validation feature supported by Bean Validation 1.1, and as a custom extension also by Hibernate Validator 4.3, can be integrated into a Spring context through a M…

STSでEclipse Marketplaceを使う

アップデートサイトhttp://download.eclipse.org/releases/heliosからMarketplaceをインストールすれば、使える。

『SpringによるWebアプリケーションスーパーサンプル 第2版』発売しています!

SpringによるWebアプリケーションスーパーサンプル 第2版作者: 株式会社クロノス 阪田浩一出版社/メーカー: ソフトバンククリエイティブ発売日: 2010/11/12メディア: 大型本購入: 1人 クリック: 59回この商品を含むブログ (10件) を見る買ってくださったとtw…

「SpringによるWebアプリケーションスーパーサンプル第2版」表紙画像!

表紙画像はほぼこのイメージになると、 編集者さんから連絡がありました!みなさん書店で見かけたら、ぜひ手にとってみてください!(そしてレジへw)

「SpringによるWebアプリケーションスーパーサンプル第2版」発売日決定!

書名:SpringによるWebアプリケーションスーパーサンプル第2版 著者: 株式会社クロノス 阪田浩一 判型: B5変 頁数: 504 本体価格: 3800 付録: CD-ROM 配本日: 2010/11/9 おそらくまだ日本では1冊もない、Spring 3.0対応の書籍です。 Strutsぐらいは使…

Servlet(Spring MVC) + JSP + jQueryでTwitterライクなmoreボタンを実装する

ひとまず初期表示する。DAOでは10件など固定の件数を取得する。このサンプルでは、IDの順番に表示していく。 @RequestMapping(method = { RequestMethod.GET }) public ModelAndView index(@RequestParam(defaultValue = "0") Long Id) { // limit 10などのS…

Spring + DBCP + MySQLで接続が閉じたコネクションを利用して例外が発生することを防ぐ

BasicDataSourceのvalidationQueryプロパティに検証用SQLを設定する。Spring設定ファイル。

SpringでAOPに複数のポイントカットを指定する

<aop:config> <aop:aspect ref="interceptor"> <aop:pointcut expression="execution(* xxx.xxx.*.update(..)) || execution(* xxx.xxx.*.add(..))" id="pointCut" /> <aop:around pointcut-ref="pointCut" method="aopMethod" /> </aop:aspect> </aop:config>

Spring + JacksonでJSONにするとenumはname()の値になる

enumはname()の値がJSONになるけど、enumの定義から考えるとtoString()じゃないのかなと思ったら同じことを考えてJIRAに登録してる人がいた。[#JACKSON-212] use toString() instead of name() for enum type - jira.codehaus.orgけど、まだfixされてないし…

Spring MVCのMappingJacksonJsonViewでマーシャルしないプロパティを設定する

@JsonIgnoreを使用する。でも、 @JsonIgnore private String data; だとマーシャルされる。 @JsonIgnore public String getData() { return data; } のようのgetterにつける。

Tomcatのレルムを独自に実装して認証する

どこかの海外blogから。パスワードを暗号化してデータベースに登録するとき、暗号化ライブラリを利用するとTomcatの認証がそのままでは使えないので、レルムを実装する。たとえばJasyptを使って暗号化しているとき、TomcatのRealmBaseの継承階層を利用して独…

Spring MVCでJSON形式のレスポンスを返す

org.springframework.web.servlet.view.json.MappingJacksonJsonViewクラスを使う。Jacksonというライブラリを変換に使うため、JARファイルを追加しなければClassNotFoundExceptionになる。 jackson-core-asl-1.5.2.jar jackson-mapper-asl-1.5.2.jar ちなみ…

Spring MVCでHTTPステータスコードを返す

@ResponseStatusアノテーションを使うだけ。 @ResponseStatus(HttpStatus.OK) @RequestMapping(method = { RequestMethod.POST }) public void methodName(@RequestParam("Id") Integer id) { ... }

Spring MVCでリクエストパラメータを日付型に変換してControllerに渡す

だれかの海外blogから。Controllerにこういうメソッドがあるとして、Spring MVCではリクエストパラメータをDateに変換してくれない。 @RequestMapping(method = { RequestMethod.POST }) public MappingJacksonJsonView methodName(@RequestParam("date") Da…

SpringですべてのメソッドにAOPでDebugInterceptorを適用する

<bean id="debugInterceptor" class="org.springframework.aop.interceptor.DebugInterceptor" /> <aop:config> <aop:advisor advice-ref="debugInterceptor" pointcut="execution(* .*(..))" /> </aop:config></bean>

Unable to locate Spring NamespaceHandler for XML schema namespace

[java] 2010/01/09 21:51:29 org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions [java] 情報: Loading XML bean definitions from file [/Users/jyukutyo/Documents/workspace/1-3-2/beans.xml] [java] Exception in thre…

Spring 3.0 GA!

Spring Downloads | SpringSource.orgリリースされましたね!Spring 3.0!まあ3.0になったからと言って劇的な変化はないようですが。さっそくダウンロードしましたが、with-dependenciesアーカイブがないのとspring.jarで固まってるのはないんですね。いちい…

Spring IDEのupdate site

http://springide.org/updatesite

Spring in Action, Third Edition

マニングから『Spring in Action, Third Edition』が刊行予定で、現在執筆が進んでいるみたい。Manning: Spring in Action, Third Edition2010/05発刊なので、まだまだ先だけど。 それにしても、マニングでThird Editionの本なんて聞いたことがない。それだ…

SpringSource買収さる

JSUG経由で教えていただきました。 米VMwareは8月10日(米国東部時間)、オープンソースベースのエンタープライズソリューションベンダ 米SpringSourceとの間で買収合意に至ったことを発表した。買収金額は現金約3億6,200万ドル クラウドにOSSのチカラを - VMw…

Spring本が8,000円!?

おかげさまで完売しましたSpring本。Amazonではプレミア価格がついてしまったのか、8,000円弱してます…SpringによるWebアプリケーションスーパーサンプル作者: 村山雅彦,阪田浩一,奥清隆出版社/メーカー: ソフトバンククリエイティブ発売日: 2006/07/29メデ…

Spring Security

Acegi SecturityはSpring Securityに名称が変わってるんだね。Springの名がつく通り、公式のプロダクトになってます。http://www.acegisecurity.org/ Acegi Security is now Spring Security, the official security project of the Spring Portfolio. If yo…

ロッド来日!?

InfoQのカンファレンスがついに日本でも開催らしい! ファウラー、ロッドにフロイド・マリネスキュー来日!? 海外から出席されるスピーカーとしては、以下の方々を予定しています。 * Martin Fowler (Author: Analysis Patterns, Refactoring, others) * Je…

Spring JavaScript!?

Spring JSなるものがあると初めて知った。 Dojoベース?でSpring MVCと連携するらしい。 Spring Javascript (spring-js) is a lightweight abstraction over common JavaScript toolkits such as Dojo. It aims to provide a common client-side programming…

Spring 3.0の変更点

Change Log removed outdated Struts 1.x Action delegation support Struts 1.xのActionデリゲートがサポート外になった? removed Commons Attributes support (superseded by Java 5 annotations) Java 5以降が必須になった? introduced Spring EL parse…

SpringをBlazeDSと統合

いよいよJava + RIAが本格化してきたってことかな。 Spring/Adobe - SpringOneにおけるFlexに関する2つの発表によりSpringエコシステムは拡大を続ける。Prana(参考記事・英語)フレームワークは公式にSpring Actionscript(リンク)と名称変更された。プロジェ…

Spring 2.5の新機能 by 河村さん

InfoQ: Spring 2.5の新機能を使ってアプリケーションを作る(その1) http://www.infoq.com/jp/articles/spring2.5-1 InfoQの日本語版で河村さんがSpring2.5の記事を書かれてます。 『実践Spring Framework―J2EE開発を変えるDIコンテナのすべて』を執筆されて…

Spring 2.0(1)

ロッド氏のプレゼンをちょこちょこ読み取ってみようかな。 いきなり最後のまとめから。 Spring 2.0 Aims Build on core Spring aim of offering a POJO programming model Make Spring both simpler to use and more powerful Spring 2.0はこれを狙ってる! …

Spring-OSGi

http://www.springframework.org/osgi へぇーこういうのも作ってるんだ。まだドキュメントにも目を通してないから、なにものかもはっきりしないけど。AcegiもSpringにセキュリティフレームワークとして取り込まれるらしい。

Spring 2.0 Final Released

http://www.springframework.org/go-2.0 きましたねー!Springは1.x時代から自身の目的は果たしていたと思います。 2.0は「to make the common tasks easier」。設定ファイルに代表される作業の簡略化を果たしたって感じでしょうか。Springは設定ファイルは…

みんなXML嫌がってるんだなあ

From TSS. Rod Johnson interview by Dion Almaerへのコメント。 http://www.theserverside.com/news/thread.tss?thread_id=40304 No non-XML configuration? Please, give a break...

Spring 2.0M4リリース

http://www.springframework.org/node/261 出たね。spring.jarにhibernate関連が入ってない・・・extmodules/spring-hibernate3.jar別途入れたらいいんだけど。spring.jarって全部入ってるんじゃなかったっけ?

ResultReaderとRowMapper

2.0のchangelogを見てたら removed ResultReader interface (sub-interface of RowCallbackHandler): use RowMapper instead とのこと。書き直しやん・・・

Spring 2.0

おおっ!読んでいこう。 Seasar2もやってきちんと比較しよう。

海外の記事

Pro Spring: Spring and EJB - JavaWorld An Introduction to Aspect-Oriented Programming with the Spring Framework, Part 1 - O'Reilly Media An Introduction to Aspect-Oriented Programming with the Spring Framework, Part 2 - O'Reilly Media Wire…

ResultSetExtractor

ResultSetExtractor#extractData(ResultSet rs)で処理を書いて 試したら、Before start of result set。ん、これはrs.next()を自分でするんやね。 MappingSqlQueryのときはJdbcTemplateがrs.next()をしてくれる、と。 どれがどうだかちゃんと調べとかなあか…

JdbcTemplateのコールバック

が詳しく載ってるWebサイトはないでしょうか? (追記)やっぱりJava・J2EE・オープンソース Spring入門 ~より良いWebアプリケーションの設計と実装だけやなあ。 種類が多すぎて何が何かわからんねえ・・・。

Object/Relational Mapping その1

Chapter 7。 ・Hibernate 背景とかiBatisはあとにしてHibernateから。 Hibernateはもっとも有名なO/Rマッピングツール。 次の2つが特徴。 HQL スナップショット比較での自動変更調査 iBatisと違ってHibernateはDBとデータモデル、生成されるSQLを 抽象化する…

DAO Support and JDBC Framework その3

Chapter 5。・JDBCとO/Rマッピングのどちらを使うべきか? 直接JDBCを使うのはフレームワークを使うことを許可されていないときだけ。 永続化クラスが少ないときやストアドプロシージャを使って すでにあるデータベースにマッピングするときは Spring JDBCを…

DAO Support and JDBC Framework その2

Chapter 5。 ・JdbcTemplateの便利メソッド int queryForInt(String sql) int queryForInt(String sql, Object[] args) long queryForLong(Stirng sql) int queryForLong(String sql, Object[] args) Object queryForObject(String sql, Class requiredType)…

DAO Support and JDBC Framework その1

『Java Development with the Spring Framework』をまとめます。 Chapter 5から始めます。 ・JDBCの問題 JDBCは重要なAPI。 JDBCの主なインターフェースはConnection, DataSource, Statement, PrepareStatement, CallableStatement, ResultSet。 これらのイ…