ちょっと練習中。
と言っても、今回の場合、application.properties に設定値を記載し、 javaのclassで、@Value("${~}") なアノテーションでDIするだけ
今回の例では、application.properties で設定ファイルを作成していますが application.yml で作成しても、spring bootが自動で認識してくれます
application.yml は、環境によって application-dev.yml , application-test.yml , application-prod.yml のように分割し 環境変数:SPRING_PROFILES_ACTIVE=dev などで切り替えも可能。
以下、サンプルコード
参考url
設定ファイル( application.properties ) の例
$vi src/main/resources/application.properties spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://cent7.a5.jp:3306/stemmdoc?useSSL=false&zeroDateTimeBehavior=convertToNull spring.datasource.username=root spring.datasource.password= logging.path=C:/home/endo/tmp/ # logging.level.root=DEBUG # logging.level.org.springframework.web=DEBUG spring.mvc.view.prefix= /WEB-INF/jsp/ spring.mvc.view.suffix= .jsp aws.s3.region=AP_NORTHEAST_1 aws.s3.access_key=ないしょ aws.s3.secret_key=ないしょ aws.s3.bucketname=test-end0tknr aws.s3.localtmpdir=c:/home/endo/tmp/
参照するクラスの例
package jp.end0tknr.stemdoc.ctrl; import javax.sql.DataSource; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.stereotype.Controller; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Value; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @Controller public class TeiFind { private static final Logger logger = LoggerFactory.getLogger(TeiFind.class); @Value("${aws.s3.region}") //// ココ private String awsS3Region; //// ココ @RequestMapping(value="/TeiFind") public String index () { logger.info("start index()"); logger.info(awsS3Region); logger.info("done index()"); return "TeiFind"; } }