Web系開発メモ

Java, JavaScript, CSS, HTML など、Webアプリの記事を中心に書いています。

SpringBoot

SpringBoot:記事の一覧

この記事には、Spring Boot の記事のリンクをまとめています。 入門 基本的な使い方(Web層, DBアクセス, 等々)を書いています。 SpringBoot 入門:目次 アプリ開発 Webアプリをつくる方法を書いています。 SpringBoot アプリ開発:目次 上記以外(エラー対…

SpringBoot アプリ開発:目次

Spring Boot を使って、Webアプリをつくる記事を書いてみました。以下の目次順に読んで頂けると、画面とDBアクセスのあるアプリをつくることができます。 ※ アプリの詳細(機能や画面など)は「1.概要」に書いてあります。 目次 概要 環境準備 プロジェク…

SpringBoot アプリ開発:1.概要

記事「SpringBoot アプリ開発」で開発するアプリの概要を書いていきます。 機能 短いテキスト「つぶやき」の、作成・表示・更新・削除(CRUD)ができるアプリです。 画面(HTML, JS, CSS) つぶやきの CRUD ができるレスポンシブな画面を、Bootstrap, jQuery…

SpringBoot入門:MessageSource を使う

Spring の MessageSource を使うと、メッセージをプロパティファイルから簡単に取得できます。これから、Spring Boot で MessageSource を使う手順を書いていこうと思います。 手順1. application.properties の設定 次のように設定すると、メッセージを mes…

SpringBoot入門:目次

この記事には、SpringBoot 入門記事のリンクをまとめています。 入門記事は、タスクベース(あれをしたい、これを使いたい)で書いています。SpringBoot で Webアプリを作ってみたい場合は、Spring Boot アプリ開発 を参考にして頂けると嬉しいです。 1. Web…

SpringBoot入門:Mustacheを使う

Spring Boot の Webアプリで、テンプレートエンジンの Mustache を使う方法を書いてみようと思います。Mustache で HTML をレンダリングして、レスポンスとして返してみます。 前提 この記事は、入門記事「JSONを返す」の資源(ビルドファイル、クラス等)を…

SpringBoot:MavenでJavaバージョンを指定

Spring Boot を使っている場合、Maven のプロパティ java.version で、Java バージョンを指定することができます。 <properties> <java.version>1.8</java.version> </properties> ただ、他のアプリでも java.version を使いそうな気がしてきます。 そこで、Spring Boot を使っていても、下のように他のプロジェクト…

SpringBoot入門:mockitoで単体テスト

Spring Boot の Webアプリで、mockito を使って単体テストをする方法を書きます。今回は、リポジトリクラスのモックを用意して、DB にアクセスせずにテストしてみます。 前提(テスト対象) 記事「JPAでデータアクセス」で作成したコントローラのメソッド cr…

SpringBoot入門:トランザクションの管理

Spring Boot の Webアプリで、RDB のトランザクションを管理する方法を書きます。Spring Framework の アノテーション @Transactional を使って管理します。 前提 この記事は、記事「JPAでデータアクセス」の資源(ビルドファイル、クラス等)を利用していま…

SpringBoot入門:JPAでデータアクセス

SpringBoot の Webアプリで、JPA を使う方法を書いていきます。JPA を使うと、SQL を書かずにデータを操作することができます。 前提 この記事は「FlywayでDBマイグレーション」の環境(JDK, PostgreSQL等)や資源(ビルドファイル, クラス, テーブル等)を…

SpringBoot入門:JDBCでデータアクセス

SpringBoot の Webアプリで、JDBC 機能を使う方法を書いていきます。プログラム内に SQL(insert, select など)を書いてデータを操作します。 前提 この記事は「FlywayでDBマイグレーション」の環境(JDK, PostgreSQL等)や資源(ビルドファイル, クラス, …

SpringBoot入門:FlywayでDBマイグレーション

Flyway は、SQLベースのDBマイグレーションツールです。DBマイグレーションとは、DBのデータを残したまま、テーブル作成やカラム変更等をすることです。 SpringBoot のアプリで Flyway を使うと、起動時にマイグレーション用のSQLが実行されるようになります…

SpringBoot:MongoDBにアクセス

SpringBoot の Webアプリから、MongoDB にアクセスする方法を書きます。データ(≒ドキュメント, JSON)を登録したり、検索したりしてみます。 環境・ツール JDK 1.8 以上 Maven 3.0 以上(or Gradle 等) MongoDB(執筆時 3.4.2) 手順1. ビルドファイルの作…

SpringBoot入門:アプリの管理やモニタリング

Spring Boot の Webアプリを、HTTP経由で管理したり、モニタリングする方法を書きます。今回は、Spring Boot の Actuator という機能を使います。 前提 この記事は、入門記事「JSONを返す」の資源(ビルドファイル、クラス等)を利用しています。必要に応じ…

SpringBoot入門:静的コンテンツを返す

Spring Boot の Webアプリで、サーバサイドから静的コンテンツ(html, js, css, png, etc)を返却する方法を書いていきます。 前提 この記事は、入門記事「JSONを返す」の資源(ビルドファイル、クラス等)を利用しています。必要に応じて参照して頂けると嬉…

SpringBoot入門:アプリのjar作成

Spring Boot の Webアプリを、jar 形式でパッケージングして起動する方法を書きます。 前提 この記事は、入門記事「JSONを返す」の資源(ビルドファイル、クラス等)を利用しています。必要に応じて参照して頂けると嬉しいです。 手順1. jar の作成 Maven の…

SpringBoot入門:タスクのスケジューリング

Spring Boot のスケジューリング機能を使って、一定間隔で処理を実行する方法を書きます。 前提 この記事は、入門記事「JSONを返す」の資源(ビルドファイル、クラス等)を利用しています。必要に応じて参照して頂けると嬉しいです。 手順1. タスクの作成・…

SpringBoot:外部のサービスに接続

Spring Boot の Web アプリ(サーバサイドの Java)から、外部のサービスに接続する方法を書きます。 今回は、Spring Boot が提供するサービス http://gturnquist-quoters.cfapps.io/api/random に接続して、JSON を取得してみます。JSON の内容は、次のよう…

SpringBoot入門:サービスクラスを使う

Spring Boot の Webアプリで、サービスクラスを使う方法を書きます。サービスクラスは「ドメイン駆動設計 - Wikipedia」に登場するオブジェクトで、なんらかの処理(機能)を実装するものです。 前提 この記事は、入門記事「JSONを返す」の資源(ビルドファ…

SpringBoot入門:ファイルアップロード

Spring Boot の Webアプリで、ファイルアップロードを受け付ける方法を書きます。手順としては、次の資源を作成していきます。 アップロードを受け付けるコントローラ アップロードする画面 前提 この記事は、入門記事「JSONを返す」の資源(ビルドファイル…

SpringBoot入門:jQueryでJSONを受信

Spring Boot の Webアプリで、jQuery を使って JSON を受け取る方法を書きます。JSON は、記事「JSONを返す」のコントローラから取得します。 前提 この記事は、入門記事「JSONを返す」の資源(ビルドファイル、クラス等)を利用しています。必要に応じて参…

SpringBoot入門:JSONを返す

Spring Boot を使って、サーバサイドから JSON を返却する方法を紹介します。 次の URL にリクエストすると、 http://localhost:8080/hello 次のレスポンスを返す例を書いていきます。 {"message":"Hello, World!"} 環境・ツール JDK 1.8 以上 Maven 3.0 以…

SpringBoot:アプリの起動・停止シェルスクリプト

以前、Spring Boot のアプリを CentOS のサービスとして起動・停止するシェル(スクリプト)を作成したことがありました。これからその内容を書いていこうと思います。 補足 最近の SpringBoot だと、アプリのサービス登録もサポートしているみたいです。詳…

SpringBoot:findAllOrderBy…Desc のエラー対応

Spring JPA でリポジトリを作成したら、アプリ起動時にエラーが発生しました。今回はそのエラーと対応方法について書いていきます。 リポジトリのコード 次のリポジトリを作成しました。 public interface UserRepository extends PagingAndSortingRepository<User, Long></user,>…

SpringBoot:Velocity の文字化け対応

Spring Boot で Velocity を使ったら、日本語の文字化けが発生しました。今回は、文字化けが解消した方法を書いていこうと思います。 文字化けの発生条件 次の2点を満たしていると、文字化けが発生するようです。 Velocity のテンプレートを UTF-8 などで書…

SpringBoot:@Autowired のエラー対応

@Autowired の使い方を間違えて、エラーを発生させてしまったことがあります。そのときのエラー内容と対応方法について書いていこうと思います。 エラーが発生したコード コントローラ プロパティにサービスクラスを DI したくて、@Autowired を付けていまし…

SpringBoot:Initializrでプロジェクト作成

Java のアプリを開発するときは、アプリのプロジェクトを作成することが多いと思います。プロジェクトは複数のディレクトリで構成されていて、ソースコードやビルドファイル(pom.xml, build.gradle, etc)などの資源を置きます。 Spring Boot の場合、Sprin…

SpringBoot入門:バリデーションをする

Spring Boot の Webアプリで、バリデーション(入力値検証)をする方法を書いていきます。バリデーションには、javax.validation や Hibernate Validator のアノテーションを使います。 前提 この記事は、入門記事「JSONの返却」の資源(ビルドファイル、ク…

SpringBoot:Basic認証の外部サービスに接続

SpringBoot の RestTemplate を使って、Basic認証の外部サービス(はてなブログの AtomPub)に接続することがありました。そのときの Javaコード(一部)を書いていこうと思います。 コード Basic認証の情報を用意してから、RestTemplate を new して接続し…

SpringBoot:pom.xml の version で警告

Spring Boot のアプリで Maven を使っていたところ、pom.xml の version(dependency の子要素)で警告が出ました。これから、事象・原因・対応方法を書いていきます。 事象 JDBC Driver の version を指定すると、Eclipse のエディタで警告(黄色い線とアイ…