DI(Dependency Injection)は、「機能を部品化し、設定ファイルで部品間の関係を設定することでアプリを作成することができる機能」です。
DI(Dependency Injection)は、「機能を部品化し、設定ファイルで部品間の関係を設定することでアプリを作成することができる機能」です。
Spring Data JPA でクエリーを実装する方法をざっくりまとめてみた。 JPAのクエリー実装方法 先ずはJPAのクエリー実装方法を見てみる。 JPAでは EntityManage を使用してクエリーを構築/実行するが、主な実装方法は以下の通り。 ネイティブSQL JPQL CriteriaAPI 名前付きクエリー JPAプロバイダの機能を直接使用する ネイティブSQL EntityManager#createNativeQuery(String)を使用する。 List<User> results = entityManager .createNativeQuery("select * from user where name = :name", User.class) .setParameter("name", "きい太") .getResultList();
Java のプロジェクトでロギングをする場合、SL4J とか Logback、Log4J なんかを使うと思うのだけれど、ちょっとしたサンプルプログラムや検証用のプログラムにライブラリを組み込んだり、設定ファイルをカキカキするのは面倒くさい。 かといって、手ずからログファイルを書き出す処理を実装するのはばからしい。 こんな時には、Java標準APIのロギング(java.util.logging)を利用すると捗る。 http://www.atmarkit.co.jp/ait/articles/0801/08/news128.html 以下の様な感じ。 java.util.logging.FileHandler.pattern には、出力ファイルのパスを含むパターンを設定 java.util.logging.FileHandler.formatter に、XMLFormatter を指定すると、
1 Introduction This document serves as the complete definition of Google's coding standards for source code in the Java™ Programming Language. A Java source file is described as being in Google Style if and only if it adheres to the rules herein.Like other programming style guides, the issues covered span not only aesthetic issues of formatting, but other types of conventions or coding standards
enum basics - しげるメモで基本的なことをおさらいしたので、私がよく使ってるenum関係のパターンをいくつか。 ステートパターンをenumで enumを使うようになってまず一番変わったのが、 private static final int SOME_STATE = 1; みたいな典型的なアンチパターンを書かなくなりました。これはステートパターンを非常に書きやすくなったためだと思います。 よくこんなコード書いてます。本当はもうちょっとロック処理とかを書かないとだめですが、ステート部分は大抵こんな感じです。 public class Lifecycle { // 初期状態はINITIALに固定 private State state = State.INITIAL; // 外側に公開する状態遷移メソッド public void start() { state = state.st
仕事柄、Javaのenumを使うことが多いのですが、あまり世の中のプログラムでenumを全力で使ってるところをあまり見かけません。 ということで、自分でもどうなのと思うときがちらほらあるenumの使い方をまとめてみようと思いますが、とりあえず今回は普通の復習用に基本的な機能を。 型付の定数が宣言できる enumはもともとCのint形の値に名前をつけただけじゃなくて、型安全な列挙定数が作れるってことでJava5から導入されました。 こんな感じ。 public enum Sample { HOGE, FOO, BAR, } で、世の中で見かけるenumは上記くらいのシンプルなのが多いみたいです。 クラス本体が宣言できる 定数定義のあとに ";" で区切ると、以降をクラスの本体としてメソッドとか定義できます。 public enum Sample { HOGE, FOO, BAR, ; // セ
JFreeChartは劣等GPLで配付されている,グラフ生成機能をもつJavaクラスライブラリ及びフレームワークである.JFreeChartを使用すると棒グラフ,折れ線グラフ,円グラフ,ガントチャートなどを用意に作成できるようだ.なかなか強力な機能を持っているにも係わらず日本語サイトで詳しく紹介されているサイトがないようなので,調査してみる. 入門編 応用編 入門編 まずJFreeChartでのフレームワークを説明し,それからJFreeChartを使用していろいろなグラフを作成してみる. JFreeChartって何だ? 2004-02-07T15:30+09:00 matsu JFreeChartの開発元についてちょっと触れ,JFreeChartのインストールとサンプル実行,JFreeChartのフレームワークについて記述する. 円グラフの作成(JFreechart 0.9.16) 200
肥え続けるTomcatと胃を痛めるトラブルハッカー:現場から学ぶWebアプリ開発のトラブルハック(8)(1/3 ページ) 本連載は、現場でのエンジニアの経験から得られた、APサーバをベースとしたWebアプリ開発における注意点やノウハウについて解説するハック集である。現在起きているトラブルの解決や、今後の開発の参考として大いに活用していただきたい。(編集部) メモリリークと聞いて、良いイメージを思い浮かべる開発者は少ないだろう。経験したことのある人にとっては、思い出したくない過去の記憶がよみがえるかもしれない。もしかしたら、その単語を聞くだけで胃が痛くなる人もいるかもしれない。筆者もかつてはその1人であった。 前々回の記事では、WebサーバとTomcatの間の接続において、スレッド数の不整合により発生したトラブル事例を、前回はTomcatとDBサーバの間のトラブル事例を紹介した。今回もTom
Strutsを利用したようなMVCのWebシステムでは、通常ブラウザからのリクエストをServletが受け取り、ビジネスロジックにディスパッチした後、JSPに制御を渡し出力画面を生成する。 この場合、ブラウザから直接JSPのURLを指定し、リクエストすると予期せぬ事態が発生することがある。 これを防ぐための方法をメモしておく。 [方法1] ・ブラウザから直接起動させたくないJSPをWEB-INFフォルダ内に置く。 [方法2] ・Webアプリケーションweb.xmlファイルで以下のように<auth-constraint>要素内にロールを何も指定しなければ、JSPに直接リクエストできなくなる。 <security-constraint> <web-resource-collection> <web-resource-name6gt;JSP protected</web-resource-nam
はじめに Apache Logging Services Projectが提供するLog4jは、ファイルサイズによってログファイルのローテーションを行うRollingFileAppenderや日付でローテーションを行うDailyRollingFileAppenderを提供しています。 しかし、ファイルサイズと日付の両方でローテートするAppenderは提供されていないため、両方の機能を同時に利用することはできません。また、DailyRollingFileAppenderを利用する場合は、バックアップログファイル数を設定できないため、Disk Fullへの対策を検討する必要があります。 本稿ではRollingFileAppenderとDailyRollingFileAppenderの機能を組み合わせたAppenderを作成する方法を紹介し、その利用方法について示します。対象読者 Javaプロ
Webアプリケーションのセキュリティホールが注目を浴びたことから、セキュリティを意識した開発の必要性が高まってきている。今後の流れとして、セキュリティ上満たすべき項目が要件定義の段階から組み込まれるケースが増えていくことが予想されるが、実際の開発現場においてはセキュリティホールをふさぐための実装方法が分からないという声も多いのではないだろうか。 そういった開発者の負担を少しでも軽くすることができるように、本連載ではJavaにおけるWebアプリケーション開発時に最もよく利用されているStrutsフレームワークの実装に踏み込んで、セキュリティ上注意すべきポイントを解説していきたい。なお、本連載ではStruts 1.2.8を対象として解説を行っていくが、すでにStrutsを利用したWebアプリケーション開発を行っている開発者をターゲットとしているため、Strutsの使用方法、各機能の詳細な説明な
Guice vs. Spring JavaConfig: A comparison of DI styles http://jroller.com/page/habuma?entry=guice_vs_spring_javaconfig_a Guice vs Spring JavaConfigの記事を訳を完了しました。 今回は、ちゃんと目次をつけます。 【目次】 ■[翻訳]Guice vs. SpringJavaConfig (1) A Knight's tour of Guice ■[翻訳]Guice vs. SpringJavaConfig (2) Guice and AOP ■[翻訳]Guice vs. SpringJavaConfig (3) A Knight's tour of Spring JavaConfig ■[翻訳]Guice vs. SpringJavaConfig (
GuiceはJavaのGenerics機能をフル活用したタイプセーフなフレームワークです。 私も、当初よりGenerics機能は、Javaの静的型付け言語的良さを強化する素晴らしい機能だと思っていましたが、実用方法としてはCollectionフレームワーク以上のものが思いつきませんでした。 しかし、Guiceはこれ以上ないほどの素晴らしい使いかたでGenericsを使い可能性を示しています。 Genericsの時代はいつか来るだろうと思っていましたが、それもGuiceの登場で案外早く来そうです。 ここでは、Moduleでの処理bind()メソッドと、その戻り値であるAnnotatedBindingBuilderインターフェイスのto()メソッドのソースを読み解いてみます。 そのなかでGnenericsの使い方を学んでいきましょう。 型 メソッド AbstractModuleクラス bind
id:iad_otomamayさんがGuiceのユーザーガイドを翻訳(すげーはえー!)してくれてたので、 一覧にしてみた。ありがとうございます、あとでじっくり読ませてもらいます>id:iad_otomamayさん Guice User's Guide ■Java on Guice ■1. Introduction ■2. Plain Old Factories ■3. Dependency Injection By Hand 続きを読む JavaExpressの後継として、新たにJavaExpertが創刊されます。 このJavaExpertの特集2として、id:yone098さん、id:manholeさんと 一緒にTeedaの入門記事を書かせていただきました。 TeedaCoreから始まり、Extension、Ajaxと全部をまとめて紹介するのはこれが初めてじゃないでしょうか。 もちろんS
Javaは,サーバーサイドのプログラミング言語として,すっかり定着した感があります。JSP(JavaServer Pages),サーブレット(Servlet),EJB(Enterprise JavaBeans)などのJ2EE(Java2 Platform, Enterprise Edition)関連技術は,書籍や雑誌などで頻繁に取り上げられています。 サーバーサイドJavaプログラミングを習得するとき,最初の一歩である「Hello World!」サーブレットを作り終えて文法を身に付けたら,次のステップは「外部データの読み書き」でしょう。プログラムは,蓄えた情報を外に記録したり,また外から新しいデータを読み込まなければ,常に同じ動作しかしません。ショッピング・サイトや会員制サイトなどの本格的なWebアプリケーションでは,商品情報や会員情報といったデータの読み書きが必須です。実用的なアプリケー
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く