SpringBoot으로 구현한 애플리케이션의 DB를 H2Database(http://h2database.com)를 사용한다.
물론 다른 것을 사용할 수도 있다. 개발하고 있는 제품의 특성에 맞춰 h2Database를 선택했을 뿐.
h2database에 접속할 수 있는 웹콘솔로 h2console이 제공되는데, 이 녀석을 애플리케이션에서
함께 실행할 수 있는 방법을 찾고 있었다.
그러다가 찾은 정보가!
spring boot default H2 jdbc connection (and H2 console)
h2database 에 포함된 org.h2.server.web.WebServlet
을 등록하면 콘솔을 빈으로 등록하고 웹상으로 접근이 가능한 것이다!
@Bean
public ServletRegistrationBean h2servletRegistration() {
ServletRegistrationBean registration = new ServletRegistrationBean(new WebServlet());
registration.addUrlMappings("/h2console/*");
return registration;
}
위처럼 빈Bean 선언을 하고 실행을 하면! localhost:{port}/h2console
으로 접근하면!
JDBC URL은 database 설정에서 url을 복사해서 넣으면 된다. 테스트하려면
jdbc:h2:mem:test
의 모습을 볼 수 있다.
애플리케이션에서는 스프링시큐리티를 이용하여 접근제어를 하고 있다.
로그인을 하면 다음과 같은 백지화면이 나타난다. 그 이유를 찾아보려고 개발자도구를 열어보니
와 같은 메시지가 뜨는 것을 확인한다. 재빨리 검색을 들어가서!
스프링시큐리티 설정코드 부분에
@Override
protected void configure(HttpSecurity http) throws Exception {
http
// ...
.headers()
.addHeaderWriter(new StaticHeadersWriter("X-Content-Security-Policy","script-src 'self'"))
// ...
}
다음과 같이 "X-Content-Security-Policy"
선언을 해줘야 한다. 애플리케이션을 재시작하면!
참 쉽죠잉??
'Java > SpringBoot' 카테고리의 다른 글
[SpringBoot] 스프링부트 소개 (0) | 2015.08.02 |
---|---|
[SpringBoot] - @ConfigurationProperties in STS (0) | 2015.07.14 |
SpringBoot(v1.2.3): FlywayDB 관련 설정 오류(레퍼런스 가이드와 다름) (0) | 2015.04.22 |
SpringBoot: JavaMailSender를 이용한 메일발송기능 구현 (0) | 2015.04.13 |
[springboot] bootrepackage 처리된 war 내에서 template file 을 찾지 못할 때 (2) | 2015.03.30 |