SpringBoot

SpringBoot+MyBatisでRDBMS毎にSQLを切り替える #mybatis

概要 RDBMS毎(例えばMySQLとPostgreSQL)で同じ目的のSQLでも構文に違いがあったりする。 MyBatisでは VendorDatabaseIdProvider を使うと、接続先のDBによって発行するSQLを切り替えることができる。 SpringBootで利用する方法についてまとめる。 VendorDa…

spring-security-testを使おう

Spring Securityを使ってるSpring BootのWebアプリでテストを書く時に、認証自体をテストしたいのでなければ spring-security-test で認証情報を簡単にMockできる。 pom.xml spring-security-test を dependency に追加する <dependency> <groupId>org.springframework.boot</groupId> <artifactId>sprin</artifactid></dependency>…

spring-bootアプリをherokuにデプロイする #heroku #SpringBoot

前提 herokuのアカウントは作成済 SpringBoot単独で起動可能にしている(外部DB等を必要としない) git管理されている heroku CLIのインストール Macだとhomebrew。 brew install heroku Heroku CLI | Heroku Dev Center Procfileの作成 プロジェクト直下に …

application.ymlの値をJavaアプリケーション側で受け取る #SpringBoot

org.springframework.beans.factory.annotation.Value を使うとよい。 ただし、まとまった単位で管理したいときは @ConfigurationProperties を使うのがよさげ。 例 @Configuration public class AppConfig { @Value("${spring.datasource.schema}") private…

SpringBootでMybatisの設定を動的に書き換えられないか挑戦してみた(失敗した)

MyBatisのConfigをJava側で動的に書き換えられないか調べてみた。 結果できなかったんだけど、備忘録として。 stackoverflow.com org.apache.ibatis.session.Configuration に値を突っ込むことでどうにかなりそう? configuration.getVariables().put("globa…

SpringBootでH2の管理コンソールを使う #springboot

spring:h2:console:enabled をtrueにするだけ。 spring: datasource: driver-class-name: org.h2.Driver url: jdbc:h2:mem:testdb;MODE=MYSQL username: sa password: h2: console: enabled: true SpringBoot起動後、下記にアクセスすると利用できる。 http:…

SpringBootのWebAPIでResponseのJSONをPretty Printにする #springboot

SpringBootでWeb APIを作ってる時に、ResponseのJSONをPretty Printにしたくなった時の対応。 やりたいこと こういうのを {"hoge":[123,456],"huga":"Yeah!","piyo":{"code":"AA1234","name":"Bob"}} こういう感じにしたい { "hoge" : [ 123, 456 ], "huga" …