m_shige1979のときどきITブログ

プログラムの勉強をしながら学習したことや経験したことをぼそぼそと書いていきます

Github(変なおっさんの顔でるので気をつけてね)

https://github.com/mshige1979

Spring Boot

Spring Bootで画面からAPIへRest Templateでファイルを送信する

シンプルな使い方 jsonで送信する 難しそうな使い方 fileを送信する やりたいこと 画面からsubmitまたはajaxでファイルを送信する。 問題点 処理の流れが ①画面でファイルを指定する ②画面でsubmitする ③Rest Templateへファイルを送信するこの場合、ファイ…

Spring Bootで簡易テストを行う

ぶっちゃけ 簡単じゃない 結構めんどくさい やりたいこと RestControllerをテストする Serviceなどを使用している場合はモック化する 実装 Sample01Controller package com.example.controller; import org.springframework.beans.factory.annotation.Autowi…

Spring Bootでログを出力する

デバッグ中の場合とかにデータの動きを少しずつ確認したい場合など ログを出力して確認します。 System.out.printlnではよくわからない場合など… サンプル Sample01Controller package com.example.controller; import org.springframework.http.MediaType; …

Spring Bootで設定ファイルのデータを取得する

設定ファイルというと iniファイルとかcsvファイルとか独自に用意したプロパティファイルとかあります。 プログラム内の固定値とかではなく実行環境(開発、本番)で設定値が変化する場合に切り替えたいもの Spring Bootの場合は application.properties が…

Spring Bootで画像を縮小して表示

画像を縮小する そもそも画像制御とかプログラムでほとんど書かないけどね 実装 Image01Controller.java package com.example.controller; import java.awt.Graphics; import java.awt.Image; import java.awt.image.BufferedImage; import java.io.ByteArra…

Spring BootでRestControllerで画像を出力する

簡単にresources配下にあるファイルを画面に表示する Spring Bootの場合は@RestControllerを返す場合は指定のデータを返却するような感じになるので返り値をバイナリ形式で返してみる。 やること 画像を読み込み byte[]へ変換して設定 jpegデータとして返却 …

Spring BootのRestTemplateでバイナリデータを取得する

RestTemplate Spring BootのAPI処理クラスと思われる Rest APIの場合は基本JSONなんだけど APIの結果としてはバイナリデータを受け取る場合もあるので取得したい 動作用API LINE APIのGet ContentAPIを使用 https://devdocs.line.me/ja/?shell#get-content …

Spring Bootでメールを送信する

Spring Bootでメールを送信する 今回の送信は簡単な平分を送信するだけ メールサーバ Gmailをリレーする 設定 application.properties # port server.port=7777 # mail spring.mail.host=smtp.gmail.com spring.mail.port=587 spring.mail.username=Gmailの…

Spring BootのRestControllerで簡易テスト

テスト 目視チェックしか基本したことない だって作成するの面倒なんだもん つくったやつのgithub GitHub - mshige1979/sample_spring_rest02: rest apiの簡易テスト版 テストサンプル ItemControllerTest.java package com.example.controller; import stat…

Spring Bootで複数のフィルターを設定する

フィルタ内で全て1つでまとめるより 複数に分けたほうが管理し易いよね やること Filterをimplementsしたクラスを作成 @Componentsアノテーションは設定しない WebMvcConfigurerAdapterを継承したクラスで使用するフィルタを設定 フィルタ準備 Sample1Filte…

Spring Bootでフィルターを設定する

フィルタ 起動時、リクエスト、終了時などになんらかの処理を仕込みたい場合に設定する処理のこと HTTPリクエスト時などで特定のヘッダが存在しない場合は処理を実施しないなどに使用する感じ? 設定方法 Filterをimplemtsしたクラスを実装 @Componentsアノ…

Spring Bootで独自の認証を組み込む

認証を独自に実装したい DBの認証やアルゴリズムがちょっと特殊な場合など 今回やったこと ・AuthenticationProviderを実装したAuthenticationProviderImplクラスを作成してここで認証を実施 ・WebSecurityConfigurerAdapterにAuthenticationProviderImplを…

Spring Bootで独自のエラー画面を表示したい

エラー画面がほしい システムの画面はちょっと困る やること ・EmbeddedServletContainerCustomizerを実装する ・ErrorControllerクラスを作成する ・Viewを作成する EmbeddedServletContainerCustomizer実装 Customizer.java package com.example.error; im…

Spring Bootでセキュリティに権限を設定する

認可 ユーザーに特定の条件を付与してアクセス権限みたいなものを設定する 今回は1つの権限で1つのURLへのアクセスを制御する。 実際はロールとかいうもので1ユーザーが複数持てるように管理すべきだが面倒なんで… やること ユーザーテーブルに権限のエリ…

Spring Bootで認証を試す

なんか結構難しいけど いろいろな記事見ててモヤモヤしてて他の事が手につかなくなったのでちょっとだけ試す。 認証機能 ログインやログアウトを行う機能 実装サンプル GitHub - mshige1979/sample_spring_secutiry01: spring bootの認証の簡易版 参考 Sprin…

Doma2のgenで自動生成を行う

Doma2 ORマッパーらしい SQLファイルとか書いてなんかできるらしいよ 今回やること Doma2でDBを参照していい感じのエンティティとかを作成できるらしいので準備して見る。 環境 eclipse mysql ライブラリ doma2 doma2-gen freemarker mysl 設定 プロジェクト…

Spring Bootでアップロードファイルを受け取る

FormとかBeanとかいうクラスを使用することで受け取ることが可能になりました。 ファイルってどうするのかな? MultipartFileとかいうクラス があれば受け取れます(^^) フォーム系 SendDataForm.java package com.example.form; import java.io.Serializable…

Spring Bootでjson文字列を受信してクラスに割り当てる

BeanとかFormとか呼ばれているもので画面とかの項目が設定されるやつ 前の時代などではパラメータを指定して取り込んでいたけどjsonで送った場合なども対応したクラスに割り当てたい場合等に対応 json形式で送った際きちんとクラスに設定されるか検証する や…

Spring BootでXMLやJSONを返す

忙しいです… (´・ω・`) Spring BootでRest APIを作成する場合には ・コントローラー用のクラスに"@RestController"アノテーションを付ける ・クラスを任意で用意して返却することで基本、json形式で返却できる ・XMLを返したい場合は返却用のクラスに"@XmlRo…

Spring Bootでデータベースに接続

そろそろDB Javaって他の言語より導入が面倒な部分が感じられるのでなかなか進まない 環境 Spring Boot 1.4 MySQL 5.x ※MySQLはvagrantに配置して接続してみる DB設定 DDL作成 create table if not exists memo ( id int not null auto_increment, name varc…

Spring bootでHttpSessionを使用する

セッションを使用する データが複数画面に跨ったり一定期間データを保持する必要があるデータの管理をすることがあるので… イメージ うん、適当だねw やること コントローラーでセッションを使用する データを渡すフォーム系のクラスをシリアライズ化する …

Spring Bootでリクエスト時の受け取るパラメータをクラスにする

リクエストパラメータを1つずつ書くのはちょっと手間がかかる もう少し楽したい(^^) こんな感じのクラスを用意 TestForm.java package com.example.beans; public class TestForm { private String name; private String age; public String getName() { re…

Spring Bootで画面へ設定した入力を他の画面へ渡す

一般的画面遷移 入力→確認 入力画面を設定して、確認画面で内容を表示する 画面構成 /の場合のページ <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Spring Sample Demo</title> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> </head> <body> <h1>Spring Sample</h1> <div> Spring Sample Test </div> <p>Now </p></body></html>

JavaのSpring bootでthymeleafを使用する

直接HTMLを記載するわけにはいかない いろいろなフレームワークではテンプレートを使用する 環境 Mac mini Spring Boot 1.4.x Java 8 Maven設定 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin…</artifactid></dependency></dependencies>

Spring BootでHello Worldを行う

Javaのフレームワーク WebだけじゃなさそうだけどJava系のフレームワークで役に立つかもしれないのでちょっとずつ調べる 環境 Mac Java 1.8 手順 Webサイトで開発環境のSTSをダウンロード https://spring.io/tools/sts/all ※400MBくらいあった 起動 「Spring…