Spring BootでH2DBのコンソールを利用する

Spring BootでH2 Databaseのコンソールを利用する方法について。

環境

  • Spring Boot: 2.3.3
  • Spring Security: 5.3.4
  • H2 Database Engine: 1.4.200

使い方

application.properties の設定

spring.h2.console.enabled=true

セキュリティ設定クラス

Spring Securityを使用している場合、上記の設定だけだと403エラーが帰ってきてしまいます。
セキュリティ設定クラス(WebSecurityConfigurerAdapterを継承したクラス)に以下のように記述します。

package xyz.tenohira.magazinemanager.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;

@EnableWebSecurity
@Configuration
public class SecurityConfig extends WebSecurityConfigurerAdapter {

	@Override
	protected void configure(HttpSecurity http) throws Exception {
		
		// ログイン不要ページの設定
		http
			.authorizeRequests()
				// 省略
				.antMatchers("/h2-console/**").permitAll()	// H2DBデバッグ用
				.anyRequest().authenticated();
		
		http.csrf().disable();	// H2DBデバッグ用
		http.headers().frameOptions().disable(); // H2DBデバッグ用
	}
}

コンソールのURL

コンソールへはhttp://localhost:8080/h2-consoleにアクセスします。

参考