Dev/SpringBoot(4)
-
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.08.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.06.27 -
레거시 코드에 대한 고민
현재 개발 중인 웹애플리케이션은 프론트와 백엔드 소스가 분리되어 있다. 프론트는 Vue.js로 개발되어 있고, 백엔드는 스프링부트 기반의 자바로 되어 있다. 기존 개발인력이 모두 퇴사하고 내가 입사하게 된 경우라서, 개발인력이 나 혼자이다 보니 서버관리부터 프론트와 백엔드 개발을 혼자 작업해야 했는데, 업무량은 논외로 치고 기존 백엔드 소스를 확인해보니 큰 문제점들이 있었다. 그 중에 몇 가지를 적어보자면, 😒 Controller에 모든 비즈니스 로직 구현 다른 모든 문제점 중에서 이 부분이 제일 짜증나는 부분이었다. 컨트롤러단에 비즈니스 로직이 구현돼 있다보니, 중복된 코드가 여기저기 산재되어 있어서 기존 기능을 수정하려면 여기저기를 다 뜯어 고쳐야 하는 문제가 있었다. 서비스 클래스는 데이터를 처리하..
2021.06.26