あるSEのつぶやき・改

ITやシステム開発などの技術に関する話題を、取り上げたりしています。

Java

Javaで動的キャストを行う方法

はじめに Java で動的キャストを行いたいというケースはあるかと思います。 例えば、受け取った内容によって生成するインスタンスを切り替えたいとかですね。 まずは設計を見直せと言われそうですが。。 結論から言うと、Java で動的キャストは可能ですが、…

Apache Commons LangのStringUtilsはとても便利

はじめに Java で文字列を扱う時に、null や空白文字("")がある関係で、ちょっと条件判定が面倒なことがあります。 こんな感じですね。 if (value == null || value.isEmpty()) { // 値がない場合の処理 } そんな時に、Apache Commons Lang の StringUtils …

Spring BootでSLF4J+logback+Lombokを使いログ出力を行う

はじめに Spring Boot のプロジェクトで簡単にログ出力を行いたい場合は、SLF4J + logback + Lombok を使うとよさそうです。 簡単にログ出力ができますし、高速で多機能、書籍『Java本格入門』でもよく使われていると書かれていました。 この記事では、SLF4J…

JUnitのテストクラスでLombokのアノテーションを使えない問題の解消方法

JUnit5 のテストクラスで、Lombok のアノテーションが使えなくて非常に悩んでいたのですが、build.gradle の設定に問題があったようです。 Spring Initializr で作成したプロジェクトは、以下のような build.gradle を作成します。 dependencies { compileOn…

Spring Boot にソースコードを整形する Spotless を組み込む

はじめに Java のシステム開発に限らないのですが、ソースコードの整形方法って人によって異なるし、場合によっては言い争いになりかねないので、開発プロジェクトではコード規約を作って遵守するようにします。 ただ、ソースコードの整形方法を目視で確認す…

Spring BootプロジェクトをIntelliJ IDEA CEで作成する

はじめに Spring Boot の開発をしたいけれど、最初はどうしたらいいか分からないことも多いかと思います。 そこで、以下の開発環境を構築する方法をご紹介したいと思います。 Spring Boot 2.7.0 Java 11 IntelliJ IDEA Community Edition はじめに IntelliJ …

Spring Boot入門のすばらしい記事を見つけたので紹介してみる

Spring Boot に入門するのって範囲が広すぎてなかなか難しいなと思っています。 ですが、そんな困難に光明が差すような Spring Boot (Spring Framework) の入門記事が Qiita に上がっていました。 Spring のすばらしい入門記事 qiita.com Spring Boot の基本…

自動テストにおけるモックとはなにか

新規開発プロジェクトで自動テストを行っているのですが、「自動テストにおけるモックとはなにか」について理解が今ひとつできなかったので調べてみました。 モックとはなにか、に踏み込むと関連するややこしい内容が出てきますが、この記事ではできるだけ単…

Spring BootのGradleでDockerイメージを作成する

はじめに この記事は「Getting Started:Spring Boot with Docker」から、実際に動作させてみたことを記録したものになります。 Getting Started 通りだと、エラーがでてDockerイメージを作成できないのでその点も記載します。 Spring Boot アプリケーション…

Java8学習におすすめの『Java本格入門』が神本だった件

はじめに 近々、Java 8をメインにした開発プロジェクトに参加することになったのですが、自分の Java の経験って 1.4 でほぼ止まっているのですよね。 なので、Java 8 で導入された Stream API やラムダ式などは、まさに異次元のお話で、これは大変なことに…

Spring Boot入門:Spring MVCでWebアプリケーションを作成する

はじめに この記事は「Getting Started:Serving Web Content with Spring MVC」から、実際に動作させてみたことを記録したものになります。 Spring Boot アプリケーションを作成することから始めます。 作業環境は、以下の通りです。 Java 1.8 以降 IntelliJ…

Spring Boot入門:MySQLにSpring Boot アプリケーションからアクセスする

はじめに この記事は「Getting Started:Accessing data with MySQL」から、実際に動作させてみたことを記録したものになります。 Getting Start 通りだと、一部でエラーが発生するのでその点も記載します。 Spring Boot アプリケーションを作成することから…

Spring Boot入門:Spring Boot アプリケーションを作成してみる

はじめに この記事は「Getting Started:Building an Application with Spring Boot」から、実際に動作させてみたことを記録したものになります。 Spring Boot アプリケーションを作成することから始めます。 作業環境は、以下の通りです。 Java 1.8 以降 Int…

IntelliJ IDEA Community EditionでSpring Bootプロジェクトを作成し起動する

はじめに タイトルの通りなのですが、IntelliJ IDEA Community Edition で Spring Boot プロジェクトを作成して起動する方法がネットを検索かけても見つからなかったので調査した結果を掲載します。 IntelliJ IDEAとは IntelliJ IDEA は、Java プロジェクト…

「Spring Initializr」を使えば、Spring Bootの開発はVS CodeのみでSTSなくてもよくない?

前の記事で、Spring Boot の開発で VS Code をメインにして STS をサブにすればよいのではないかと提案しました。 www.aruse.net これは、VS Code では Spring Boot のプロジェクト作成ができないということがあったためです。 ですが、Spring Boot には Spr…

VS CodeのSpring Bootで起動エラー「Build failed, do you want to continue?」

VS Code で Spring Boot のプロジェクトを起動しようとすると、「Build failed, do you want to continue?」というエラーメッセージが表示されて起動されない問題が起きました。 なんでも、Java Language Server が workspace を捕まえているみたいです。 解…

STSのMavenビルドでゴールの設定とjarファイル名の指定方法

Spring Boot のプロジェクトで Maven のビルドを実行したら、下記エラーが発生してビルドできませんでした。 INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] BUILD FAILURE [INFO…

Spring Bootの開発はVS CodeをメインにしてSTSをサブにするのが最強じゃね?

STS (Spring Tool Suite)を IDE にして、Spring の勉強を始めたのですがつらい。。。 なにがつらいって、コードアシスタント機能があまりにも貧弱なのです。 Microsoft Visual Studio や VS Code に慣れた身としては、かなりつらいものがあります。 最初、不…

macOSにSpringのIDEであるSTSを日本語化してインストールする方法

はじめに Java の Spring Boot の開発で無料の IDE であれば、STS(Spring Tool Suite)を使用するのが一般的ではないかと思います。 STS には、STS単体で提供されるものとEclipse のプラグインとして提供されるものがあります。最近では、VS Codeのプラグイン…

macOSにOpenJDK12をインストールする方法

macOS に OpenJDK をインストールする方法を解説します。 現時点(2019/07/28)では、OpenJDK 12.0.2 が最新なので、このバージョンをインストールします。 まず、OpenJDK のサイトにアクセスします。 openjdk.java.net そして、以下のようにして、OpenJDK の…

Spring Bootでデフォルトで表示されるログイン画面のユーザIDとパスワード

Spring Boot の pom.xml で以下のような Spring Security の設定をしていると、デフォルトでログイン画面が表示されます。 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency> ↓こんなやつです。 この画面でログインするためのユーザーIDとパスワード…