spring boot

Auth0

Spring BootでJWTアクセストークンのpermissionsで認可する – 【Auth0】

Spring BootでJWTアクセストークンのpermissionsで認可する - 【Auth0】 認可において、JWTのscope属性ではなくpermissions属性を見るように設定します。 dependencies 依存関係です。 ...
JPA

JPAの戻り値をOptional<List<T>>にするとSpringFrameworkのバージョンによって変わる

JPAの戻り値をOptional<List<T>>にするとSpringFrameworkのバージョンによって変わる spring boot 2.2.5.RELEASE spring bootが2.2.5.RELEASEだとjpaは、spri...
spring

Spring bootのバージョンを2.2.5.RELEASE→2.3以上(2.5.12)にバージョンアップすると「Caused by: org.xml.sax.SAXNotRecognizedException: unrecognized feature http://xml.org/sax/features/external-general-entities」エラー

Spring bootのバージョンを2.2.5.RELEASE→2.3以上(2.5.12)にバージョンアップすると「Caused by: org.xml.sax.SAXNotRecognizedException: unrecognized...
spring

Requested bean is currently in creation: Is there an unresolvable circular reference?

Requested bean is currently in creation: Is there an unresolvable circular reference? Spring bootを2.5.12にバージョンアップしたら「Req...
spring boot

Spring bootのバージョンを2.2.5.RELEASE→2.3以上(2.5.12)にバージョンアップするとjavax.validationは依存関係に含める必要がある

Spring bootのバージョンを2.2.5.RELEASE→2.3以上(2.5.12)にバージョンアップするとjavax.validationは依存関係に含める必要がある SpringFrameworkの脆弱性が見つかったので、バージョ...
spring bootのlog

Spring Bootアプリケーションで組込Tomcatのアクセスログをファイル出力する方法

Spring Bootアプリケーションで組込Tomcatのアクセスログをファイル出力する方法 apprication.propertiesに以下記述すればアクセスログが出力されるようになります。 tomcat\logs\配下にアクセスログが...
H2

Spring BootでH2インメモリデータベースをWeb上で表示する

Spring BootでH2インメモリデータベースをWeb上で表示する
Logback

Spring Bootでlogback.xmlを使用してログローテートする(Tomcat)

Spring Bootでlogback.xmlを使用してログローテートする(Tomcat) Spring Bootのapplication.ymlで簡易なlog出力の設定が出来ますが、logback.xmlにログ出力情報を記載すればtomc...
RESTful

Spring REST APIでスラッシュを含むパスパラメータ取得方法

Spring REST APIでスラッシュを含むパスパラメータ取得方法 パスパラメータにスラッシュを含む場合の取得方法です。 パスパラメータにスラッシュを含むケースですが、以下のようなイメージです。 このURLの/tmp/a.txtがパスパ...
RESTful

Spring BootのRestTemplateのHttpURLConnectionをSSL通信にカスタマイズする方法

Spring BootのRestTemplateのHttpURLConnectionをSSL通信にカスタマイズする方法 RestTemplateで標準で使用されているSimpleClientHttpRequestFactoryクラスですが、...
Gradle

Spring Boot + Gradleでswagger-codegen-cli自動生成ソースを出力する方法

Spring Boot + Gradleでswagger-codegen-cli自動生成ソースを出力する方法 項目 バージョン swagger-codegen-cli v3.0.21 にyamlを貼り付けて、スタブサーバやクライアントソース...
Gradle

Spring Bootのbuild.gradleでMavenローカルリポジトリにデプロイする方法

Spring Bootのbuild.gradleでMavenローカルリポジトリにデプロイする方法 Mavenローカルリポジトリ設定方法 Spring Bootで作成したjarをMavenローカルリポジトリにデプロイする方法です。 build...
Java

【SpringBoot】AutoConfigureから除外する方法

こんにちは東です。 今回はSpringBootを使ったMock等を作成するにあたって、AutoConfigureで不要なConfigurationClassを利用しないように設定します。 やり方 方法は簡単で、@SpringBootAppl...
spring boot

Spring BootでServletWebServerFactory,TomcatServletWebServerFactoryクラスを使って組み込みTomcatの設定をクラスに記述する

Spring BootでServletWebServerFactory,TomcatServletWebServerFactoryクラスを使って組み込みTomcatの設定をクラスに記述する
bitronix

Spring Boot+JPA+bitronixで2相コミットを実装する方法

Spring Boot+JPA+bitronixで2相コミットを実装する方法 Spring bootバージョン 2.2.4.RELEASE Bitronix Transaction Managerを使って2相コミットを実装してみます。 bu...
JPA

Spring JPAで複数データベース(PostgreSQL)に接続する方法

Spring JPAで複数データベース(PostgreSQL)に接続する方法 spring boot 2.2.5.RELEASE JPAで複数データベースに接続するけど、トランザクション管理は別々にしたいです。例えば、MyDB1を更新して、...
Spring Data JDBC

Spring Data JDBCの使い方 – 【Java】

Spring Data JDBCの使い方 - 【Java】 前提 項目 値 プロジェクト Gradleプロジェクト Spring Boot 3.1.3 Language 17 Spring Data JDBCがサポートしているDBです。 D...
spring

Springの@Transactional(readOnly=true)で読み取り専用のトランザクションにする

Springの@Transactional(readOnly=true)で読み取り専用のトランザクションにする
spring

Springで初期データをdata.sqlで投入する方法

Springで初期データをdata.sqlで投入する方法 data.sqlというファイルをsrc/main/resources配下に置くことでSpring起動時にデータをテーブルにインサートすることができます。 但し、application...
RESTful

Spring BootのRestControllerでJSONを引数で渡す方法

Spring BootのRestControllerでJSONを引数で渡す方法 REST APIにREST形式でString型やInteger型を渡すことができますが、JSON形式のデータを渡すことも可能です。 RequestMapping...
RESTful

@Controllerと@RestControllerの違い

@Controllerと@RestControllerの違い @Controllerと@RestControllerの違いは@ResponseBodyアノテーションがあるか無いかです。 @Controller @ResponseBody p...
spring boot

The bean ”, defined in null, could not be registered. A bean with that name has already been defined in null and overriding is disabled.

The bean '', defined in null, could not be registered. A bean with that name has already been defined in null and overri...
spring boot

Spring CLIをインストールする方法

Spring CLIをインストールする方法 Spring CLIをインストールするにはSDKMANでインストールします。 $ sdk install springboot これでインストール完了です。バージョン確認します。 $ spring...
Gradle

Spring Bootでデプロイ時に組み込みTomcatを除外する方法

Spring Bootでデプロイ時に組み込みTomcatを除外する方法 Spring Bootで組み込みTomcatがあるのでわざわざTomcatをインストールせずに簡単に開発が可能です。 ただしWARファイルとしてデプロイして、サーバ上の...
AOP

Spring BootでAOP(アスペクト指向)を使うとコードが奇麗になる(@Aspect,@Before,@Afterなど)

Spring BootでAOP(アスペクト指向)を使うとコードが奇麗になる(@Aspect,@Before,@Afterなど)
spring boot

Spring Bootでspring-retryを使って処理をリトライする方法(@EnableRetryと@Retryableと@Recover)

Spring Bootでspring-retryを使って処理をリトライする方法(@EnableRetryと@Retryableと@Recover)
spring boot

Spring Bootの@ConfigurationPropertiesアノテーションの使い方

Spring Bootの@ConfigurationPropertiesアノテーションの使い方 @ConfigurationPropertiesでapplication.ymlに記述した値を読み込みます。 application.yml s...
Spring Batch

Spring Boot Batchの作成方法

Spring Boot Batchの作成方法 こんにちは東です。 今回はSpring Boot Batchの作成について書いていきます。 プロジェクトの作成からHello Worldの出力までです。 まずはプロジェクトの作成 下図のように、...
JPA

Spring BootのJPAでテーブルをエンティティから自動生成する方法

Spring BootのJPAでテーブルをエンティティから自動生成する方法
AWS

Spring BootでS3 Selectの使い方

Spring BootでS3 Selectの使い方 S3のとあるバケットに以下のようなCSVがあるとします。バケット名は「saba6seimenjo」とします。 name age height weight Bob 20 170 60 To...
S3

There is no EC2 meta data available

There is no EC2 meta data available Spring bootでこのエラーが出たらbuild.gradleの依存性を以下に変更してとりあえず直しました。 dependencies { // implement...
postgreSQL

Spring bootでPostgreSQLのbit(1)にインサートするときにハマった

Spring bootでPostgreSQLのbit(1)にインサートするときにハマった PostgreSQLのbit(1)はCREATE TABLEで以下のように書くと定義できます。 CREATE TABLE public.sample_...
spring boot

Spring bootでBeanPropertyRowMapperの使い方

Spring bootでBeanPropertyRowMapperの使い方 select * from ~で検索結果を取得する場合は、BeanPropertyRowMapperを使ってエンティティに突っ込む方法があります。 以下はREST ...
lombok

Spring Bootで@RequiredArgsConstructorを使用してコンストラクタインジェクションを使用する

Spring bootで@RequiredArgsConstructorを使用してコンストラクタインジェクションを使用する
spring boot

Spring boot + ThymeleafでフォームをPOSTする

Spring boot + ThymeleafでフォームをPOSTする
maven

Spring Bootのbuild.gradleでMavenのローカルリポジトリを設定する

Spring Bootのbuild.gradleでMavenのローカルリポジトリを設定する
Gradle

Spring Bootでapplication.properties(yml)を環境によって分ける方法

Spring Bootでapplication.properties(yml)を環境によって分ける方法 アプリケーションの設定ファイルであるapplication.propertiesを環境によって分けることができます。 src/main/...
Gradle

Spring BootでSpring Dev Toolsを使用してホットデプロイする方法

Spring BootでSpring Dev Toolsを使用してホットデプロイする方法 Spring Bootでコードを修正する度にアプリケーション停止、アプリケーション起動するのは面倒なのでホットデプロイします。 build.gradl...
spring boot

Spring Bootの組込Tomcatのポートを変更する方法

Spring Bootの組込Tomcatのポートを変更する方法 Spring Bootアプリケーションを起動するとデフォルトで8080ポートが使用されますが、変えたい場合はapplication.properties(yml)の設定で変更す...
Gradle

Spring Boot + Gradleでwarファイルを作成する方法

Spring Boot + Gradleでwarファイルを作成する方法 STSのスタータープロジェクトで作成したプロジェクトはデフォルトでjarファイルを作成してくれますが、build.gradleとかいくつか修正することで、プロジェクト名...
JPA

Java8+JPAでSQL結果をStreamで返す方法

Java8+JPAでSQL結果をStreamで返す方法
mockito

Spring Bootでmockitoを使ってテストする方法

Spring Bootでmockitoを使ってテストする方法
JUnit

Spring BootのRESTControllerをJUnit4でテストする

Spring BootのRESTControllerをJUnit4でテストする RESTControllerをJUnitでテストします。 JUnitでテストする際は、src/main/java配下、src/test/java配下は同一階層の...
spring boot

Spring Data JPAでSQLのログを出力する

Spring Data JPAでSQLのログを出力する
RESTful

Spring BootのREST APIでエラーハンドリングする方法

Spring BootのREST APIでエラーハンドリングする方法 REST APIでDBに繋がらない場合などにコントローラクラスにに対して同じエラーハンドリングしたい場合、@ExceptionHandlerアノテーションを使用してハンド...
liquibase

Spring Bootでliquibaseを使う方法(MySQL)

Spring Bootでliquibaseを使う方法(MySQL)
RESTful

Spring BootのRestControllerの@PathVariableと@RequestParamの使い方や@Validate,@Validでバリデーションチェックを行う方法

Spring BootのRestControllerの@PathVariableと@RequestParamの使い方や@Validate,@Validでバリデーションチェックを行う方法
spring boot

Spring Boot でSwagger を使う方法

Spring Boot でSwagger を使う方法 Swaggerを使うにはbuild.gradleに以下2行を追加します。 dependencies { implementation 'org.springframework.boot:...
MySQL

Spring Boot + JPAでMySQLに接続する方法

Spring Boot + JPAでMySQLに接続する方法 STSのスタータープロジェクトがかなり進化していたのでおさらいです。 「Spring BootでMySQLに接続する」を参考にします。Spring Bootを起動まではできました...
MySQL

You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.

You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specif...