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にアクセスします。