Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? 注:本記事の内容はJavaで公式にドキュメントされているものではなく筆者の見解です。とはいえクラスを設計する上で有用な指針たり得ると思われるので公開したものです。 おさらい - 検査例外と非検査例外 Javaの例外クラスには「catchしないとコンパイルエラーになる」検査例外(チェック例外、checked exception)とそうでない非検査例外(非チェック例外、unchecked exception)があります。 検査例外は最近は嫌われる傾向がありC#では採用されていませんしAltJava言語も軒並み不採用、さらにはJavaの新しめ
システムによって全テーブルに共通したカラムが存在することがあると思います。 (楽観ロック用のバージョニングカラムや登録日、更新日、登録者名、更新者名など) JPAのEntityクラスを作成するときに全Entityに同じ変数を作るのはイヤだったので、上位クラスを作ってまとめられないかな、と思って調べてみたらその方法がありました。 上位クラスに@Entityではなく@MappedSuperclassアノテーションをつけるだけです。 これだけで、上位クラスを継承したEntityクラスで共通カラムを使用することができました。 package jp.co.test.entity; import java.io.Serializable; import java.util.Date; import javax.persistence.Column; import javax.persistence.M
業務アプリケーションを作っていると、監査証跡ということで、作成者、作成日時、更新者、更新日時を保存するということがあると思います。Spring Dataのアノテーションを使うと、自動でセットしてくれるので、アプリケーションで決まりきったコードを書かなくて済むということみたいです。 Task.java(モデルクラス) package sample.model; import org.springframework.data.annotation.CreatedBy; import org.springframework.data.annotation.CreatedDate; import org.springframework.data.annotation.LastModifiedBy; import org.springframework.data.annotation.LastMod
@Entityアノテーションと@Idアノテーション @Tableアノテーション @GeneratedValueアノテーション @Columnアノテーション @Transientアノテーション @MappedSuperclassアノテーション 次回は @Entityアノテーションと@Idアノテーション まずは、これが無いと始りません。@Entityは該当のクラスがエンティティであることを指定し、@Idはプライマリキーとなるプロパティかフィールドを指定します。 @Entity public class Customer { @Id private Long id; private String firstname; private String lastname; // ・・ } @Idは以下の様に指定することもできます。というかこっちの方が一般的か? @Id public Long getI
追記: 指摘の通りで、現実的な連結回数での計測でもないですし、統計手法を用いた分析をしていないので、このエントリの計測値は当てにしないでください。なので以下のブログを参考にしてください。 currentTimeMillis()で計測しておいて plusTime:14780, concatTime:7053, sbuilderTime:7, sbufferTime:13 とか、その7とか13の有効数字はいくつだっての。 激しく今更感があるタイトルですが(;・∀・) 昔に取り上げたのですが、 文字列の結合をやるからといって、すぐにStringの+をつかってはいけない - じゅんいち☆かとうの技術日誌 Stringの+演算子は間違った使い方するとパフォーマンスが低下しますよっていう話題。若干ネタ成分ありますが、ご容赦ください。 これ系の話題は自分的にはオワコンなんですが、最近、また話題を見つけた
今回は、SpringのRestTemplateを使って外部のWeb API(REST API)にアクセスするようなコンポーネントに対するJUnitテストケースの書き方を紹介します。単体テストでは、Mockitoなどのモック化フレームワークを使って依存コンポーネントの振る舞いを変えることも多いと思いますが、今回は、Spring Testが提供しているMockRestServiceServerを使います。 動作検証環境 Spring Framework 4.3.0.BUILD-SNAPSHOT (2016/6/4時点) Spring Boot 1.4.0.BUILD-SNAPSHOT (2016/6/4時点) RestTemplateって何者!? MockRestServiceServerが何者か説明する前に、RestTemplateが何者でどんな仕組みでWeb APIにアクセスしているか説明
We used the opportunity to streamline the Jira field values, so for example 25 component values in Jira correspond to 5 "in: *" labels on GitHub. The "status: *" and the "type: *" labels have also been given extra through and revised. Our choice of labels is aligned with the labels used in Spring Boot. The Boot team has given their process and labels a lot of thought, and we know the consistency w
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? Java EE Advent Calendar 2016 の7日目の記事です。 Springほにゃららってたくさんあって把握しきれてないので、この機会にまとめてみました。 Springの本家本元プロジェクト一覧はこちら。 https://spring.io/projects GitHubはこちら。 https://github.com/spring-io/ https://github.com/spring-projects/ Mavenリポジトリのグループはこちら。サブグループも複数あります。 https://mvnrepositor
Java で JSON を使うときは Jackson JSON Processor を使うと簡単だし、速いらしいからよく使ってる。今回は割とちょくちょく遭遇する Java Bean が持つフィールドの名前と JSON のプロパティ名 (RFC の用語的にはメンバのネーム) が異なっている場合の対処法について書く。 例えば、Java は基本的にキャメルケースの命名規則を使うけど、JSON ではそうとは限らない。例えば JSON の命名規則としてはスネークケースを使いたいとき、どうすれば良いのか。こうすれば良い。 package study.jackson.namebinding; import org.codehaus.jackson.annotate.JsonProperty; public class User { private int id; @JsonProperty("user_
public class TestInterceptor extends HandlerInterceptorAdapter { public boolean preHandle(HttpServletRequest request, HttpServletResponse response, Object handler) throws IOException { // リダイレクト先のパス String redirectPath = request.getContextPath() + "/redirectPath"; // FlashMapを作成 FlashMap flashMap = new FlashMap(); // 渡したい値とキーを設定する flashMap.put("key", "リダイレクト先に値を渡す。"); // リダイレクト先のパスを設定する flashMap.s
ではフィルタとして呼び出されるサーブレットの作成方法について見ていきます。フィルタを作成するにはFilterインターフェースを実装したクラスを作成します。 フィルタインターフェースを実装するには次の3つのメソッドを実装する必要があります。 init public void init(FilterConfig filterConfig) throws ServletException Called by the web container to indicate to a filter that it is being placed into service. The servlet container calls the init method exactly once after instantiating the filter. The init method must complet
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く