概要 Springフレームワークで提供されているRestTemplateで、自己署名証明書(オレオレ証明書)を許容する。 環境 Java 8 SpringBoot 2.1.3.RELEASE Spring 5.1.5.RELEASE Apache HttpClient 4.5.7 Bean定義 import org.apache.http.client.HttpClient; import org.apache.http.conn.ssl.NoopHostnameVerifier; import org.apache.http.conn.ssl.TrustSelfSignedStrategy; import org.apache.http.impl.client.HttpClients; import org.apache.http.ssl.SSLContexts; import org.
経緯 リファレンス見ながらSpring Bootの勉強中 https://docs.spring.io/spring-boot/docs/2.2.2.RELEASE/reference/htmlsingle/#using-boot-devtools devtoolsを入れるとクラス変更したときに勝手に再起動してくれるっぽい そーいや入れてなかったな・・・ リファレンスだと configurations { developmentOnly runtimeClasspath { extendsFrom developmentOnly } } dependencies { developmentOnly("org.springframework.boot:spring-boot-devtools") } ほほーん よっしゃいっちょ書いてみるかー おや・・・? build.gradleとbuild
Mapper の注入 MyBatis-Spring がスレッドセーフな Mapper を生成してくれるので、SqlSessionDaoSupport や SqlSessionTemplate を使って手動で DAO オブジェクトを生成するコードは不要となります。 生成された Mapper は他の Bean に注入することができます。 <bean id="fooService" class="org.mybatis.spring.sample.service.FooServiceImpl"> <constructor-arg ref="userMapper" /> </bean> public class FooServiceImpl implements FooService { private final UserMapper userMapper; public FooServiceI
SqlSessionFactoryBean 基となる MyBatis では、SqlSessionFactory をビルドする際 SqlSessionFactoryBuilder を使いましたが、MyBatis-Spring では、SqlSessionFactoryBean を使います。 設定 Spring の XML 設定ファイルに次の Bean を定義することで Factory Bean を生成することができます。 <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean"> <property name="dataSource" ref="dataSource" /> </bean> SqlSessionFactoryBean は Spring の FactoryBean インターフェイス(
東京理科大学 Advent Calendar 2019の9日目です。 今回はJavaのフレームワークSpringにおいて @Valueアノテーションを用いたクラスに対してテストをする際の方法/コツについて書いていきます。 @Valueとは @Valueアノテーションは別のファイルから値をインジェクションしたいときに用いるアノテーションです。 Spring Bootの場合デフォルトの設定のままですと、application.ymlまたはapplication.propertiesに記載してある値から読み取りインジェクションします。 具体的に書くとこのような形式です。 まず、application.ymlに値を書きます。
This document summarizes a microservices meetup hosted by @mosa_siru. Key points include: 1. @mosa_siru is an engineer at DeNA and CTO of Gunosy. 2. The meetup covered Gunosy's architecture with over 45 GitHub repositories, 30 stacks, 10 Go APIs, and 10 Python batch processes using AWS services like Kinesis, Lambda, SQS and API Gateway. 3. Challenges discussed were managing 30 microservices, ensur
@SpringBootTest アノテーションはテスト実行時のコンフィグレーションクラスを自動検出する機能を備えています。SpringBootを使わない場合には @ContextConfiguration でコンフィグレーションを明示する必要があるわけですがそれが不要になるわけです。 自動検出されるのは @SpringBootConfiguration がついたクラスです。このアノテーションは @Configuration と同じ意味ですが @SpringBootTest によって自動的にテストコンフィグレーションに設定されるという点で挙動が異なります。 @SpringBootApplication アノテーションには @SpringBootConfiguration のアノテーションがついているので、 @SpringBootTest アノテーションは @SpringBootApplica
このドキュメントについて リクエストパラメータでバリデーションエラーが発生する際に発生するExceptionの種類がなんか色々ありそうだったので調査してみた 完全に網羅できていないとは思うけど自分なりに使いそうだなーっていうケースを調べた 今回調査したのは以下のケース ①パスのパラメータ ②引数で指定するケース ③引数でDTOを指定するケース ④引数で@RequestBodyをつけてDTOを指定するケース(JSON) 先に結論 調査したケースとExcpetionの対応は以下の表の通り 引数でバリデーションするものはConstraintViolationExceptionになってそうでないものは下記に従うっ て言う感じだった ちなみに複数バリデーションが発生するケースも試してみたけどその場合はDTOを使っているパラメータのバリデーションエラーが優先して発生していた 引数で指定している部分を同
Spring Frameworkにおけるvalidation Hibernate Validator 主なアノテーション Formに対するvalidation Formクラス Controllerクラス Form以外に対するvalidation 書いてないこと Spring Frameworkにおけるvalidation http://terasolunaorg.github.io/guideline/5.4.1.RELEASE/ja/ArchitectureInDetail/WebApplicationDetail/Validation.html 詳しくは上記リンクも参照したほうが良いですが、 カジュアルに使うように残します。 Hibernate Validator 実装はHibernate Validatorなので、javax.validation.constraintsのアノテーショ
これは、なにをしたくて書いたもの? Spring Boot(Spring Framework)を使って、Bean Validationのメッセージを変更したりするのをどうやるのかをよく覚えて いなかったので、確認してみることに。 結局、Bean Validationの復習的な感じになりましたけど。 せっかくなので、自分でValidatorを作り、対応するメッセージをプロパティファイルに定義して組み込むことをやってみたいと 思います。 あと、プラスで既存メッセージの上書きも。 Bean Validationで自作のValidatorを作成する これについては、Hibernate Validatorを見るのがよいでしょう。 Creating a simple constraint バリデーションで使うアノテーションを作成して、 The constraint annotation 対応するVal
■ 一般的なカスタムエラーメッセージの利用方法例えば次のバリデーションを使っているときを想定する。 import javax.validation.constraints.Email; 中略... @Email private String mail;@Emailのバリデーションを利用していることを想定する。 通常バリデーションメッセージを書き換える場合は次のようにクラス内に記述する。 // 普通のやり方 @Email(message = "Emailを入力してください") private String mail;「@〇〇」の後ろで、messageプロパティに値を代入させるように記述する。 この記述方法を取ることで、分かりやすく簡単に記述できる。記述力が多すぎない場面では有効に機能するが、しかし同様のバリデーションメッセージを大量のクラスに記述する場合はプロパティファイルなどを利用しエラー
前提 対象のDB・テーブルposgreSQLを使います。 テーブルは公式のサンプルテーブルの中から countrycityaddressを使います。 ER図が公式にあるのでテーブルの関係は参照してください。 PostgreSQL Sample Database オブジェクトcountryテーブルを今回メインのテーブルと見立て、 countryが1に対してcityが多となるようにオブジェクトをネストさせています。 cityが1に対してaddressが多となるようにオブジェクトをネストさせています。 また、countryの主キーは別途主キーオブジェクトを作り、ネストさせています。 Country.java package com.example.demo.entity; import java.sql.Timestamp; import java.util.Set; import lombok
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く