第4回Eclipse Formsによる“Hello World!” 松藤秀治 2007-12-13
第4回Eclipse Formsによる“Hello World!” 松藤秀治 2007-12-13
java.io.Serializable …、ある程度Javaに触れて来た人は必ず見たことがあるインターフェイスだと思う。私も何度も見てきたし、必要に迫られて自分の作ったクラスにSerializableをつけたこともある。しかし、こいつは一体何なのか? 継承の便利さ 僕らがまだJava初心者だった頃。継承というメカニズムに助けられながら育って来た。簡単に言えば、HttpServletクラスを継承しさえすれば、自分の作ったクラスがサーブレットとして認識されるのだ。また、abstractメソッドなどという便利な機能もあり、継承にあたって実装しなければいけないメソッドは確実に指示され、言われた通りにそのメソッドを実装すれば良い。 StrutsのActionも然り。そう、多くの場合は「継承さえすれば、望む物がだいたい出来上がる」というのがJavaの世界だと思っていた。 だが、世の中そんなに甘くない
General Introduction Team License Mailing Lists Publications & Talks Users User Information Maven Repositories Global Libraries Use with NetBeans Use with Eclipse FreeHEP 1.x Web Maven 1.x Plugins Forums Bugs and Issues Developer Information Migration Status Source Code Compile, Test and Install Deploy Continuous Integration Release Adding Modules Native Code Coding Standard Changes 1.x - 2.x Infr
本連載は、Javaによるプログラミングを始めて間もない初心者、かつGUIアプリケーションを作りたいと考えている方を対象にしています。GUIアプリケーションとはウィンドウ、ボタン、メニューやアイコンといった部品を使ったユーザーインターフェイス(操作画面)を提供するアプリケーションのことです。サーブレットやJSPを学習する機会や使う機会が多い中で、あらためてJavaの基本を学習したい読者にもお勧めできます。 なお、本連載ではユーザーインターフェイスをどのように設計するのか(ユーザーにとって優れた操作画面とはなど)については説明しません。興味のある方は「Webアプリケーションのユーザーインターフェイス」(リッチクライアント&帳票)を参考にしてください。本連載を通じて、簡単にGUIアプリケーションが作れることを皆さんに体感していただければと思います。 本連載の学習環境 本連載では以下の製品を利用し
※ 以下の内容は Windows を対象としているが、考え方は他の OS でも通用するはず。 JVM や Java コンパイラ は、-D オプションを使えば、表示言語を英語や日本語に切り替えられる。 では、オプションを指定しない場合に適用されるデフォルトの言語を切り替えることは可能だろうか。 言語はロケールの一部として扱われており、デフォルトロケールは、 Windows では、システム・ロケールの設定値となる。 問題なのは、Windows OS のグレードによっては言語が設定できないことだ。*1 また、システムロケールは、ディスクトップ環境のすべてのアプリケーションに影響するので、 Java 環境だけ言語を切り替えられる方法があると便利かもしれない。 それで、いろいろと試行錯誤した結果、下記の方法に行き着いた。 以下の方法はパラメータの指定の仕方を変えれば java.exe だけでなく j
本章では、Apache Software Foundation で開発されているプロジェクト管理ツール「Maven」について解説します。 Maven はプロジェクト情報の一元管理、統一したビルドプロセスの提供、依存ライブラリの管理などの機能により、 開発者にかかるプロジェクト管理の負担を軽減します。 現在の Maven は、version 1 系統と version 2 系統が平行して開発されていますが、本章では version 2 系統について説明します。 Maven INDEX Maven とは 1.1. Maven とはどのようなものか 1.2. Maven の入手とインストール Maven 入門 2.1. Maven のアーキテクチャ 2.2. Maven の実行 2.3. プロジェクトの作成 2.4. pom.xml について 2.5. コンパイル 2.6. ユニットテスト 2.
Level up your Java™ code With Spring Boot in your app, just a few lines of code is all you need to start building services like a boss. New to Spring? Try our simple quickstart guide. Most [of our] services today are all based on Spring Boot. I think the most important thing is that [Spring] has just been very well maintained over the years...that is important for us for the long term because we d
Jackson の、普段あんまり使わない機能過ぎて使いたいときに忘れてぐぐって時間を浪費してしまうようなケースを回避するためにメモメモします。随時更新予定。 見ればわかりますが、元ネタはほぼすべて Stack Overflow です。英語だけだと読むのが辛い、という方向け(主に自分)にまとめています。 snake_case でプロパティを表現している JSON と camelCase で表記している POJO をマッピングしたい java - Jackson overcoming underscores in favor of camel-case - Stack Overflow より。 引数に PropertyNamingStrategy.CAMEL_CASE_TO_LOWER_CASE_WITH_UNDERSCORES PropertyNamingStrategy.SNAKE_CAS
今やすっかりAWS屋、しかもアプリではなくインフラ寄りのプロダクトばかり触っている都元です。しかし元々はサーバサイドアプリ屋ということで、ボスのAWSへの想いとは裏腹に、ぼちぼちとサーバサイドJavaの話も出して行こうと思っています。 というわけで、Spring Frameworkについて色々書いて行こうと思うのですが、どう考えても1回で終わる内容ではないため、シリーズ形式(連載)とさせて頂きたいと思います。ただ、書くネタは無限にありそうなので、回数は反響に応じて調整しようかな、と思っています。ギブミー・いいね。 Javaフレームワークの世界 Javaはフレームワークがいっぱいあることが利点でもあり欠点でもあります。多くの言語にはデファクトと言えるフレームワークが存在します。あまり知らない分野なので深く触れてヤケドしたくはないのですが、例えばRubyだったらRailsでしょうし、Pytho
Javaに関するリファレンスをまとめました。 ご自由にご利用ください。 当サイトはリンクフリーです。リンク大歓迎です。(*^_^*)
概要 treeさんの『javaのロガーが多すぎて訳が解らないので整理してみました』によると、slf4jは(commons-loggingと同様の)ログ出力のインターフェースを定義しているライブラリーらしい。 ログを実際に出力するライブラリーとして、java.util.loggingやlog4j・logbackがあるらしい。 logbackの例 slf4j+logbackの例。 まず、slf4jとlogback-classicを使ったサンプルプロジェクトを作るgradleスクリプトは以下の通り。 build.gradle: apply plugin: 'java' apply plugin: 'eclipse' defaultTasks 'jar' group = 'com.example' version = '0.1-SNAPSHOT' sourceCompatibility = 1.7
Lombok とは 読みは、「ロンボック」もしくは「ロンボク」。 アノテーションを付けるだけで、 getter, setter, toString, equals などの「何度も繰り返し書くコード」をコンパイル時に自動生成してくれるようになる。 でも、 Getter, Setter の自動生成は無闇にやるとオブジェクト指向を破壊するので、「使ってるフレームワークがどうしても Getter, Setter を要求するから仕方ないんじゃい」ってとき以外は使うべきではないと思う。 Hello World apply plugin: 'application' configurations { provided } sourceSets { main { compileClasspath += configurations.provided } } repositories { mavenCent
Javaは言語仕様上の制約により、ボイラープレートコード(自明だが省略できないお決まりのコード断片)がいくつかあります。例えば、メンバ変数を読み書きするだけのgetterメソッドやsetterメソッドがこれにあたります。Lombokを使えば、これらJava特有の冗長なコードを、見やすく簡潔なものにすることができます。本記事ではLombokを利用して、ボイラープレートコードをシンプルに記述する方法について解説します。 はじめに 今やJava開発に必要不可欠となったものの一つに、IDEの存在があります。例えばEclipseではメンバ変数さえ定義すれば、getter/setterの自動生成や、equalsメソッドやhashCodeメソッド、toStringメソッドなどの自動生成などさまざまな場面でコーディングを強力にサポートしてくれます。 これは大変便利な機能ですが、裏を返せばJavaの言語仕様
1. 概要 (1)Jacksonとは Java用のJSONパーサーライブラリの1つ JavaオブジェクトとJSONの相互変換ができる 要約すると、 ・JSONをJavaオブジェクトに変換できる ・JavaオブジェクトをJSONに変換できる (2)JSONとは ①JSON概要 「JavaScript Object Notation」の略 テキストフォーマットの一種 シンプルで軽量 null,真偽値,数値,文字列,配列,オブジェクト(連想配列)のデータを、文字列で表現できる 配列とオブジェクト(連想配列)は、ネスト(入れ子)構造で表現する事ができる null と記述すると、null 値を表現できる データは keyとvalue のペア データはカンマで区切られる 波括弧{}の中はオブジェクト 角括弧[]の中は配列 ②JSONサンプル "firstName"と"lastName"がKey "No
概要 abstractはクラス・メソッド宣言時に付与し、クラス・メソッドを抽象クラス(abstractクラス)・抽象メソッド(abstractメソッド)として宣言します。抽象クラスはそのクラス自身のインスタンスを生成することはできません。通常抽象クラスは実装のないいくつかの抽象メソッドを持っています。抽象クラスをサブクラスで継承し、そのサブクラス内で抽象クラスで実装されていない抽象メソッドを実装(オーバーライド)しインスタンスを生成します。 抽象クラス、抽象メソッドは、ある事象の共通となるフレーム部分を定義し、具体的な処理は継承したサブクラスで実装したい場合に使用します。例えば、「自動車」クラスを構成する要素として「エンジン」、「ブレーキ」、「ハンドル」があります。「エンジン」、「ブレーキ」、「ハンドル」は車種によって異なるので「自動車」クラスの中では定義しません。 その場合は「自動車」ク
この章で説明する「抽象クラス」は、実際にはあまり使わない機能です。 ただ、その次の章で説明する「インタフェース」を理解するうえでの手助けになるので、とりあえずかじっておきましょう。 抽象クラスを作ってみる ここまでの説明で、オーバーライドとアップキャストを使うことでポリモーフィズムができることはわかったと思います。 この「ポリモーフィズム」を強制させる機能があります。 それがこれから説明する「抽象クラス」というものです。 まずはこの「抽象クラス」というものを作ってみましょう。 // ConcreteSubRunner.java /** * 抽象クラス。 */ abstract class AbstractSuper { /** * 抽象メソッド。 */ abstract void printMyName(); } /** * AbstractSuperクラスのサブクラス。 */ class
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く