LoginSignup
2
4

More than 5 years have passed since last update.

Spring-Bootネタ

Last updated at Posted at 2018-11-28

SpringとSpring-Bootの時間経過で忘れてしまいそうな事をとりあえずメモしておくページ

開発環境系

ソース(リソースも含む)更新時にオートリロードさせる

spring-boot-devtoolsを使う。
maven or gradle の dependencies に設定する。
設定記述内容は↓参照。
Spring公式

※公式の設定通りにやっておけば、jar で固めた時、jar の中に devtools の jar は入らない(大事)。

EclipseからSpring-Bootを起動させる。

  1. STSを入れて、ツールバーのBootダッシュボードを開く
  2. ダッシュボード内のプロジェクトを右クリックして起動

※ツールバーの赤枠部分がダッシュボード↓
image.png

※ツールバーにBootのダッシュボードがない場合は、
メニューのウインドウ > ビューの表示 > その他 で ダッシュボード で検索

※ダッシュボードはSpring-Bootのプロジェクトが勝手に認識される↓
image.png

実装系

@Configurationではなく、@importを使う

@SpringBootApplication に @Configuration がついてるので、自分で作るConfig系のクラスは全部、@SpringBootApplication が付与されているクラスから @Importで呼び出すことにして、@Confiurationをつけないこと

※実際には@Confiurationでも問題なさげだけど、知ってる人感がでる。

Starterが使用するBeanの設定@myBatis-starterでhikariCPを使いたくないとか

Starterは必要なBeanがDIコンテナに有るか無いかを判断して、なければ必要なBeanを生成するっていう動作になっている。
参考ページ:Spring BootのAutoConfigureの仕組みを理解する
※もしくは、Starterのソースを見る

なので、自分でBeanを作るとデフォルトで作られるBeanを打ち消せる。

例えば、MyBatisのstarterではDatasourceがない場合、HikariCPのDatasourceを作るようになっているが、HikariCPを使いたくない時は自分でDatasourceのBeanをDIコンテナに登録してしまえばOK。

例)↓をしておくと、HikariCPを使わなくなる。

@Bean
public DataSource datasource() {
    MysqlDataSource ds = new MysqlDataSource();
    // ~略~
    // ※Datasourceの設定を普通に書く
    return ds;
}

起動&リリース系

gradleで実行可能jarを作る&起動@eclipse

"gradleタスク"ウインドウの中から、

build > boorJar

を実行。

build/libs の中に jar でできてるので、その jar を使って、

java -jar 生成したjarファイル

で起動。

実行可能jarに引数で使用したいpropertiesファイルを指定する

java -jar jarファイル --spring.config.location=classpath:/default.properties

ちなみに、jarファイルがあるディレクトリに application.properties を置くと、置いた application.properties を読み込む。
※--spring.config.location の指定は不要
※とかっていう application.properties の読み込み優先順位も↓に書いてある

Spring公式

2
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4