【前提条件】 [環境] JDK 1.7.0_25 GlassFish 4.0 [参考資料] Bean Validation1.1仕様書 The Java Community Process(SM) Program - communityprocess - final [その他] Validatorの生成はCDIを利用しています。 【概要】 Bean Validationで標準で用意されている Validation用のアノテーションについてです。 Bean Validationの参照実装はHibernate Validator5系となっているため、 Hibernate Validatorと同様のアノテーションがあります。 【Validatorオブジェクトの生成】 Bean Validationを行うためには javax.validation.Validatorクラスのオブジェクトを使用します
少し時間が経ってしまいましたが、2013年11月のJJUGナイトセミナーで Java EE 6 から導入されたDI/AOP仕様であるCDIについて話す機会を頂きました。 JJUG 11月ナイトセミナー CDIをはじめよう from Norito Agetsuma 補足 : インタフェースを作るべきか 資料中では『インタフェースを作りましょう』と書いていますが、DIをユニットテストのしやすさを目的に使う場合は実装クラスをそのままインジェクションしても良いと思います。mockitoなどの使いやすいモックフレームワークが出てきているためです。mockitoを使うと、インタフェースをテスト用に実装した"ベタな"モックを作らなくても実装クラスの挙動を変更することができます。 mockitoを使う 例えば、以下のようなシンプルな課金処理サービスがあったとします。 CDIで顧客情報を持ってくるリポジトリ
Java EE 7 に含まれるCDI1.1より、beans.xmlをアーカイブに含めなくてもCDIが有効となるように仕様が変更されました。この改善点、Java EE 6ユーザにとっては少し困惑する部分があったので、まとめておきます。 CDIとはなんぞやについてはこちらもご参照ください。 CDI1.1からはbeans.xmlがなくてもCDIが有効になる CDI1.0(Java EE 6)では、WEB-INF/beans.xmlを空ファイルでも良いので含めることで、CDIが有効となり、様々なJava EEコンポーネント(JSFのバッキングBeanやEJBなど)に@Injectで任意のクラスのインスタンスをインジェクションできました。 CDI1.1からは、WARファイルやEARファイルのなかに『bean defining annotationが付与されたクラス』または『セッションBean』が含ま
今まで@Injectとか@Qualifierとかを使ったインジェクションは少し試してきましたが、手動でBeanを取得するようなやり方はやってこなかったので、今回試してみることにしました。 Seasar2でいうとS2Containerを直接使う、みたいな感じですね。 CDIだと、BeanManagerというものを使うみたいです。 サンプルを作るにあたり、このあたりを参考にさせていただきました。 BeanManagerでCDIコンテナにアクセスする http://tanoseam.wordpress.com/2011/11/03/beanmanager/ [Java] BeanManager: Obtain Contextual Reference to Beans (TOTD #215) http://orablogs-jp.blogspot.jp/2013/07/beanmanager-o
CDIの参照実装のWeldですが、Java SE環境でも使えるんですね。どこかで聞いたことがあった気がしますが、忘れてました…。 Weld http://weld.cdi-spec.org/ そんなに情報はないですが、オフィシャルのドキュメントと 18.4. Java SE http://docs.jboss.org/weld/reference/latest/en-US/html_single/#d0e5666 こちらを参考にさせていただきました。 JavaSE 環境でCDI(Weld)を使う http://qiita.com/opengl-8080/items/2f03ab496e871cf32f54 準備 依存関係の定義。 build.sbt name := "weld-se-example" version := "0.0.1-SNAPSHOT" scalaVersion := "
Introduction JSF was since version 2.2 moving towards CDI for bean management. Since JSF 2.2, as part of Java EE 7, there's the new CDI compatible @ViewScoped and there's the CDI-only @FlowScoped which doesn't have an equivalent for @ManagedBean. Since JSF 2.3, as part of Java EE 8, the @ManagedBean and associated scopes from javax.faces.bean package are deprecated in favor of CDI. Now, there are
In this tutorial you will learn how to configure Contexts and Dependency Injection (CDI) with Tomcat. Tomcat is not a full-blown EE container so we must include some required libraries in order to enable CDI support. In this tutorial we will cover CDI configuration in Tomcat and also provide a working sample. This tutorial considers the following software and environment: Ubuntu 12.04 JDK 1.7.0.09
Contexts and Dependency Injection(CDI)入門 1. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.1WebLogic Server 勉強会Context and Dependency Injection(CDI)入門2013年 6月20日日本オラクル株式会社Fusion Middleware事業統括本部 松林晶 2. Copyright © 2013, Oracle and/or its affiliates. All rights reserved.2Program Agenda Context and Dependency Injection(CDI)– CDIとは– CDI 1.1 New Feature(Java EE 7) 3. Copyright ©
昨日のSeasar2のエントリについたコメントなどで、「とはいえ代わりに何つかうの?」みたいな話が出てたので、とりあえずJava EEのWebフレームワークについて簡単にまとめてみます。 Java SE 8+Java EE 7+lombokで書いていますが、基本的なところはJava SE 7+Java EE 6でも大丈夫です。 なので、今どきとは書いてますが、基本的には2009年12月のJava EE 6ということで、実はすでに4年近くたってます。 何も考えてない なんも難しいこと考えないなら、やっぱJSPが楽ですよね。 なんでも書けちゃう。 <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content=
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く