Dev/SpringBoot4 SpringSecurity 사용 시, H2 console 화면 localhost에서 연결을 거부했습니다. [ 현상 ]스프링부트 개인 스터디 중인데, h2 db 연결한 후, 웹브라우저에서 localhost:8080/h2-console로 접속해서 로그인 했더니, 아래처럼 화면이 제대로 출력되지 않는 오류가 발생함. [ 해결 ]1. 스프링시큐리티에서 'h2-console' uri 접근에 대한 권한이 막혀 있는지 확인 - 아래와 같이 모든 요청을 허용했으므로, 권한 문제는 아님 @Bean public SecurityFilterChain securityFilterChain(HttpSecurity http) throws Exception { http .csrf(AbstractHttpConfigurer::disable) // CSRF 비활성화 (새로운 문법) .. 2024. 12. 31. springboot H2 database 연결 오류 "mem:testdb" not found 스프링부트의 application.yml 에 h2 관련 설정을 아래와 같이 하였다. spring: h2: console: enabled: true path: /h2-console datasource: url: jdbc:h2:mem:testdb username: sa password: sa driver-class-name: org.h2.Driver jpa: hibernate: ddl-auto: create # 어플리케이션을 시작할 때 데이터베이스를 초기화하고 다시 테이블 생성 properties: hibernate: format_sql: true # 실행되는 query를 보여줌 logging.level: org.hibernate.SQL: debug 그 다음, 스프링부트를 실행한 후, http://local.. 2023. 8. 10. 스프링부트에서 JsonView 사용법 스프링에서 Controller 클래스는 @Controller 어노테이션을 붙여서 사용한다. 요즘은 스프링4에서 추가된 @RestController 어노테이션을 이용하여 별도의 설정없이도 클라이언트에 반환되는 데이터를 json 형태로 내려줄 수 있지만, @Controller 어노테이션을 사용하면 기본적으로 view이름(페이지명)을 리턴하므로 문자열 형태의 데이터를 반환하기 위해 사용되는 것 중 하나가 JsonView이다. 바로 알아보자. build.gradle 파일 plugins { id 'org.springframework.boot' version '2.5.1' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group .. 2021. 6. 27. 레거시 코드에 대한 고민 현재 개발 중인 웹애플리케이션은 프론트와 백엔드 소스가 분리되어 있다. 프론트는 Vue.js로 개발되어 있고, 백엔드는 스프링부트 기반의 자바로 되어 있다. 기존 개발인력이 모두 퇴사하고 내가 입사하게 된 경우라서, 개발인력이 나 혼자이다 보니 서버관리부터 프론트와 백엔드 개발을 혼자 작업해야 했는데, 업무량은 논외로 치고 기존 백엔드 소스를 확인해보니 큰 문제점들이 있었다. 그 중에 몇 가지를 적어보자면, 😒 Controller에 모든 비즈니스 로직 구현 다른 모든 문제점 중에서 이 부분이 제일 짜증나는 부분이었다. 컨트롤러단에 비즈니스 로직이 구현돼 있다보니, 중복된 코드가 여기저기 산재되어 있어서 기존 기능을 수정하려면 여기저기를 다 뜯어 고쳐야 하는 문제가 있었다. 서비스 클래스는 데이터를 처리하.. 2021. 6. 26. 이전 1 다음