Java
エンティティのバリデーション JPA ではエンティティの各フィールドをバリデーションチェックするためのアノテーションが用意されている。 package jp.mydns.akanekodou.demo.entity; import javax.persistence.Column; import javax.persistence.Entity; im…
入力用のフォームを準備して、データを入力・保存できるようにする。 <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Top page</title> <link th:href="@{/css/hello.css}" rel="stylesheet" /> </head> <body> <h1 th:text="#{content.title}">Top page</h1> <form method="post" action="/" th:object="${formModel}"> </form></body></html>
Gradle を使ってみる 前回作ったものを ビルドツールとして Maven ではなく Gradle を使ってみる データベースは PostgreSQL を使ってみる で作り直してみる。 プラグインのインストール Gradle によるビルドを行うためには STS にプラグインを入れる必要が…
いよいよデータベースにアクセス 今回は H2 データベースから全件取得して表示するところまで。 Entity クラスの作成 基本的に JPA なのでそんなに難しくない。Lombok を使っているので @Data アノテーションを使うと楽。 package jp.mydns.akanekodou.demo;…
フォームを利用してみる 今回は フォームから入力を受け付ける 入力された値はセッションに保存しておく ところまでやってみる。 <html xmlns:th="http://www.thymeleaf.org"> <head> <title th:text="${title}"/> <link th:href="@{/css/hello.css}" rel="stylesheet" /> </head> <body> <h1 th:text="${title}"/> <p th:text="${message}"/> </p></h1></body></html>
STS(Spring Tool Suite) を使う さて、コマンドライン + Groovy でもまぁ簡素な Web アプリは作れたが、やはり本格的な開発には STS(Spring Tool Suite) が欲しいところなのでダウンロードしてくる。spring.ioeclipse ベースなので見た目はほとんど eclipse …
JUnit 5 がとっくの昔にリリースされてたのを今頃になって確認してみたらいろいろ変わってた話。 アプリケーションコード すごーい(CV : 尾崎由香)簡単な例でスマソ。 package jp.mydns.akanekodou; /** * <p>文字列から整数への変換メソッド提供クラス</p> * * @ve…
Maven のプラグインについて Maven のプラグインは主に以下のサイトで用意されている。 Maven – Available Plugins Mojo – MojoHaus Maven Plugins Project Exec Maven Plugin 前回の課題になっていた、Maven のビルドの実行の際に main を実行するためには…
Maven のビルドライフサイクル Maven のビルドライフサイクルには多数のゴールが設定されている。ちなみにデフォルトのライフサイクルには何と validate, initialize, generate-sources, process-sources, generate-resources, process-resources, compile, …
当ブログではこれまで Apache Maven (以下、Maven) の話題は極力避けてきたが、昨今の開発事情を鑑みるに、最早 Maven なしでは開発がままならない状況になりつつある。Spring MVC では標準のビルドツールとして採用されるなど、Maven は避けては通れないも…
タイトルは親父ギャグじゃねーです !ゆっちさんがこんな記事を書いていたようで。 ゆっちのBlog » Java8 時代の素数の求め方最初はそのままパクらせていただいて動かしていました(それでもなかなかに早い)が、地味に無駄な処理があることに気がつきました。b…
今日は 4 月 1 日です。新年度の始まり、そしてエイプリルフールですね。いろんな人がよってこぞってエイプリルフールネタを投下してくるので、どれが本当の記事かわかりません(苦笑)。しかし今日はあいにくの平日とあって、エイプリルフールを満喫している…
∧,,∧ (;`・ω・) 。・゚・⌒) View 作るよ!! / o━ヽニニフ)) しー-JFacelets 群 + α。 MajorCityJavaEE/list.xhtml at master · akaneko3/MajorCityJavaEE · GitHub MajorCityJavaEE/detail.xhtml at master · akaneko3/MajorCityJavaEE · GitHub MajorCity…
長らくお待たせいたしました。今回は Java のソースコードを書いていきます。 下準備 前回作った JSF のプロジェクトのビルド・パスに、以前に作った EJB のプロジェクトを含めること。これをしないと EJB 側のパッケージを参照できずエラーになります。 管…
今回は JSF 側のプロジェクトを作っていきます。まずは JSF のプロジェクトを作ります。ファイル構成はこんな感じ。 WebContent/WEB-INF/faces-config.xml や WebContent/lib 内に初期に配置される各種 jar は必要ないので削除します。代わりに WebContent/l…
そろそろ現実に帰って Java EE の記事を書きます(汗)。Model の Entity を JPA で、Business logic を EJB で実装します。JPA は前にも説明した通り永続化と O/R マッピングですが、EJB をことさらに使う理由としては、WildFly (やその他 Java EE アプリケー…
そろそろ本腰入れて Java EE 7 について書こうか。うん、そうしよう。随分と長いこと WildFly には嫌われてきた*1が、ようやく動かせる状態になったので、簡単なサンプルを元に解説なんぞできればよろしいかと。Java EE に含まれているいくつかの API のうち…
View の作成 Velocity で作る。list.vm <html> <head> <title>日本の政令指定都市一覧</title> <link rel="stylesheet" href="css/list.css" type="text/css"> </head> <body> <table> <caption>日本の政令指定都市一覧</caption> <colgroup> <col id="no"> <col id="pref"> <col id="name"> <col id="button"> </colgroup> <thead> <tr>…</tr></thead></table></body></html>
Servlet の作成 DAO の使い方の例として。 package jp.mydns.akanekodou; import java.io.IOException; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servl…
前回の続き。 DAO 層の実装(続き) まずは DAO クラスであることを明示するためのインターフェースを用意*1する。 package jp.mydns.akanekodou.dao.util; import java.util.List; /** * DAO クラス共通インターフェース * * @author Red cat * @param <T> DAO </t>…
O/R マッパーである MyBatis と軽量 DI コンテナ Guice による DAO 実装について、今回から数回に分けて書きます。 MyBatis とは MyBatis は iBatis の後継となる O/R マッパー。マッピングファイルに SQL を記述し、インターフェースを用意することで、マッ…
JUnit 4.7 からの機能で、例外が throw されたときのメッセージ(getMessage で取得できる文字列)をチェックすることが出来るようになったらしい。具体的には、同じ例外クラスを throw するが、ケースによってメッセージが変わるような場合に、@Test(expected…
JUnit は Java における単体テストの自動化をサポートするサードパーティー製のライブラリ(フレームワーク)である。が、これだけの説明では何のことかわからないと思うので、もう少し詳しく説明する。 単体テストの定義と意義 単体テストとは ? 単体テストと…