プロパティファイルを外部ファイル化したい。 さらにファイル名に application.properties は使えないという条件。 Application.java package hello; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.boot.CommandLineRunner; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.context.MessageSource; @SpringBootApplic
コンフィグレーションファイルに@PropertySourceアノテーションを付加します。 @Configuration @PropertySource("classpath:application.properties") public class HogeConfig { ... } 利用したいクラスでpropertiesファイルに記載の項目を取得する際はValueアノテーションを付加します。 @Service public class HogeService { @Value("${foo.bar}") private String foo; .... } ${…}の形の記法はPropertySourcesPlaceholderConfigurerによってプロパティのkeyであると解釈されます。 application.propertiesに foo.bar=hoge という記載があれ
はじめに Springframeworkの@PropertySource、@Valueアノテーションを使って、プロパティファイルから設定を取得する方法を記述します。 環境 jdk 1.8 Maven 3.3 Springframework 4.2.1.RELEASE JUnit 4.21 Mavenの設定 pom.xml <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion
この手の記事は日付に気を付けないとすぐに古くなる。これは2015/10の記事。 @PropertySourceを使う。下記が詳しい。 Spring @PropertySource - Jayway 今回の場合は /src/main/resource配下にconfigディレクトリを掘ったのち、 環境変数 SPRING_PROFILES_ACTIVE を指定して読み込む。 これは、サーバ別に設定を読み分けたい場合、application.properties も同様の環境変数を指定することによりproperties ファイルを読み分けられるから、そのついでということである。 Spring-Bootの設定プロパティと環境変数 - Qiita STS での環境変数の設定は RUN->RUN Configurations -> Enviroment に書き込むと使える。 この環境変数の中身は「loc
パラメータの渡し方 STSを利用したSpringBatchプロジェクトの作成手順でも触れてますが、SpringBatchアプリケーションをコマンドから実行するためには「org.springframework.batch.core.launch.support.CommandLineJobRunner」クラスを利用します。起動コマンドのフォーマットは次の通りです。 >java org.springframework.batch.core.launch.support.CommandLineJobRunner classpath:/[ジョブ定義ファイル] [起動ジョブID] ジョブ実行時にパラメータを与えたい場合は、起動ジョブIDの後ろにパラメータを記述するだけです。フォーマットは次の通りです。 [パラメータ名]=[値] パラメータ名の前にハイフン(-)は必要ありません。 具体例を示します。
日立子会社 -> サイバーエージェント -> ミツカリ CTO。フルスタックITエンジニア。なんでもやります! 今回は認証のパスワードをハッシュ化する部分についての話です。 パスワードのハッシュ化をもしSHA256などのハッシュ関数でハッシュ化しているのであれば、できればBCryptに乗り換えた方が良いよ、というのが今回の話です。 詳細はここが参考になります。 ようするにSHAは高速を考えて作られたので、パスワードのハッシュ関数向きではない、と。高速に実行できてしまうとそれだけレインボーテーブルの作成が容易になる、ということですからセキュアじゃないですね。 ただ、それでもBCryptとかを使えばストレッチングがいらないよ、という訳ではないようです。あくまで従来通り考え方はハッシュ関数+ソルト+ストレッチングです。 ただ、BCryptの実装であるjBCryptを使うとかなり扱いが楽になるので
概要 Spring Boot でログイン画面 + 一覧画面 + 登録画面の Webアプリケーションを作る ( その8 )( ログイン画面作成 ) の続きです。 今回の手順で確認できるのは以下の内容です。 パスワードを暗号化します。 検索/一覧画面のページネーション用に作成した form に自動で CSRF対策用の hidden が出力されない原因を調査します。 ログインエラー時に ID がクリアされるので、ID を残す方法があるか確認します。 下記の件はいろいろ調べましたが、そもそも実現する必要性がなさそうなので調べるのを止めました。調査中に分かったことで残しておきたい点だけ書いています。 最初に呼ばれた認証を必要とする URL が存在しない URL の場合にはログイン画面を表示せずに最初から 404 を返すか、ログインした後デフォルトページ ( http://localhost:8080
サイトにアクセスするとログインページが出て、ログインするとメニューページに行くというものを作ってみようと思います。 プロジェクトの作成 プロジェクトを作ってpom.xmlを編集します。まずはSpring Boot使うためのお約束として以下のものを追加します。 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.2.5.RELEASE</version> </parent> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <d
javaでもrailsのようなmigrationをするツールはいくつかあります。 Liquibase,Flyway,MyBatis Migrationsなどです。 今回は、以前説明したDropwizardがLiquibaseを同梱しているので、そのサンプルを使って説明したいと思います。 ちなみにLiquibaseとFlywayの違いはこちらにわかりやすく書かれていました。 概要 Liquibaseを一言で説明すると「DBスキーマの変更管理を行うツール」になります。 アジャイルで開発していくとコードはどんどん変更されていきますし、それと同じようにDBスキーマも変更されていくことになります。 そういう場合にこういうツールがないと変更が面倒で、開発スピードが落ちたり、最悪の場合は、変更したくないために間違った方向へプロダクトを誘導しかねません。 現在のように、柔軟で迅速に開発できなければ生き残れ
Spring Batch generally requires a database to store JobExecution related informations. However, for my previous example of Spring Batch, I did not want a database for my silly example. To get rid of such a constraint, we can use ResourcelessTransactionManager which is a TransactionManager that does not requires a database connection. The JobRepository must also be configured, the factory MapJobRep
引き続きSpring Batchの公式リファレンスからの抜粋です。今回は「タスクレット」についての記述。原典は"Spring Batch - Reference Documentation"の第5章2節「タスクレット・ステップ」(バージョンは3.0.2.RELEASE。2014/12/31取得)です。 * * * 5.2 タスクレット・ステップ チャンク指向の処理がStepにおける唯一の処理方法であるというわけではありません。Stepがストアドプロシージャの呼び出しのみからなる場合はどうなるのでしょう? こうした場合でも ItemReader を呼び出し、その内部でストアドプロシージャの呼び出しを行わせた上でnullを返させてステップを終える、という実装方式をとることも可能ではあります。しかし実際には何もしない ItemWriter が必要になるわけですから、ちょっと不自然なものになり
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く