728x90 반응형 스프링부트8 [springboot] sql script(schema.sql, data.sql) 실행 시 한글 깨짐 로컬에서 실행할땐 한글깨짐 문제가 없었는데, 서버에서 빌드 배포 후 실행을 해보니 db에서 값을 가져오는 글자만 한글이 깨져있었습니다. src └ main └ resource └ application.yml └ data.sql └ schema.sql 처음엔 http encoding 문제인가 하여 확인해봤는데, 이미 적용되어 있었습니다. *.jsp application.yml #springboot 1.5.x spring: http: encoding: charset: UTF-8 enabled: true force: true #springboot 2.1.x server: servlet: encoding: charset: UTF-8 다시 확인해보니 http encoding 문제가 아니라 data.sql로 ins.. 2020. 10. 14. [springboot] REST API 적용하기 REST(Representational State Transfer) WWW과 같은 분산 하이퍼미디어 시스템을 위한 소프트웨어 아키텍처의 한 형식. 자원을 이름으로 구분하고 해당 자원의 상태를 주고받는 모든 것이 REST라고 할 수 있지만, 일반적으로 REST라고 하면 좁은 의미로 HTTP를 통해 CRUD를 실행하는 API를 뜻한다. HTTP METHOD에서 PUT과 PATCH의 차이점은 아래 포스트에서 확인하세요. [HTTP METHOD] PUT vs PATCH 차이점 HTTP 메소드 중 PUT 과 PATCH가 있다. 뭔 차이여... PUT : 자원의 전체 교체, 자원내 모든 필드 필요 (만약 전체가 아닌 일부만 전달할 경우, 전달한 필드외 모두 null or 초기값 처리되니 주의!!) PATCH : �.. 2020. 10. 14. [springboot] MyBatis resultType이 Map일경우 key를 소문자로 만들기 보통 MyBatis에서 resultType으로 목록이나 데이터를 조회할 경우 VO(Value Object)를 많이 사용합니다. 그런데 VO 가 아닌 map을 사용할 경우 key 값이 대문자로 들어갑니다. (oracle, h2 등) VO는 보통 camelCase 이거나 언더바를 포함한 소문자 명명규칙을 사용합니다. Map의 Key를 VO처럼 소문자 명명규칙을 사용하게 설정해봅시다. 사실 전자정부프레임워크를 사용하면 EgovMap을 사용하여 camelCase로 key를 세팅하도록 되어있습니다. 그래서 전자정부프레임워크처럼 Map을 상속받는 클래스를 생성하고 put 함수를 가로채 key를 lowerCase로 치환해주는 새로운 Map 객체를 만들어보겠습니다. 전자정부 프레임워크가 사용하고 있는 방법이기 때문에 .. 2020. 10. 14. [springboot] h2-console 접속이 안될 경우 문제 해결 h2-console 접속이 안될 경우 해결 방법을 알려드리겠습니다. http://localhost:8080/h2-console/ 1. h2-console enabled h2-console 접속이 안된다면 application.yml에 아래 내용을 추가합니다. spring h2: console: enabled: true 2. Spring Security + H2 잘 작동하던 H2 데이터베이스가 Spring Security를 적용하자 작동을 하지 않는 이유는 Spring Security에서 H2 데이터베이스 콘솔 접근을 차단했기 때문입니다. 다음과 같이 Java Security Configuration을 설정해줍니다. @Configuration @EnableWebSecurity public class Web.. 2020. 10. 14. [springboot] jar파일이 jsp경로를 못찾는 경우, intellij에서 war 빌드 /src/main/webapp/WEB-INF/* 경로에 jsp 파일이 있을 경우, application.yml 에 아래처럼 설정을 하고서 개발 툴에서는 잘 작동하던 springboot 프로젝트가 jar로 빌드하면 경로를 못 찾고404 에러가 뜰 때! // application.yml spring: mvc: view: prefix: /WEB-INF/view/ suffix: .jsp 원인은 jar로 된 빌드 파일은 더 이상 jsp를 지원하지 않는다고 합니다. 그래서 jar가 아닌 war로 빌드를 해야 합니다. JSP Limitations When running a Spring Boot application that uses an embedded servlet container (and is packaged .. 2020. 10. 11. [SpringBoot] Intellij(인텔리제이)에 SpringBoot(스프링부트) 프로젝트 시작하기 Spring Boot 스프링부트(Spring Boot)는 스프링 프레임워크 기반 어플리케션(Data, Batch, Integration, Web, JDBC, Security 등)을 사용자가 더 빠르고 쉽게 개발 할 수 있게 해주는 오픈소스 프로젝트이다. 단독 실행이 가능한 수준의 스프링 어플리케이션 제적이 가능 내장된 Tomcat, Jetty, UnderTow 등의 서버를 이용해서 별도의 서버를 설치하지 않고 실행이 가능 최대한 자동화된 설정을 제공 XML 설정 없이 단순한 설정 방식을 제공 (https://spring.io/tools3/sts/all) IntelliJ IDE 인텔리제이(IntelliJ)는 JetBrain사에서 개발한 자바 IDE이다. 기존의 이클립스(Eclipse) IDE 보다 가볍고 .. 2020. 10. 8. [IntelliJ] The Tomcat connector configured to listen on port 80 failed to start. The port may... IntelliJ로 Spring Boot 서버 실행을 했을 때 다음과 같은 오류가 발생하는 이유 중 하나는 이미 해당 포트가 사용중일때입니다. 사용하지 않는 포트일 경우 종료시킵니다. The Tomcat connector configured to listen on port 8080 failed to start. The port may already be in use or the connector may be misconfigured. 인텔리제이 하단의 Terminal 을 띄워 해당 포트를 Taskkill 합니다. D:\IntelliJ IDEA 2019.2.4\IdeaProjects\project>netstat -ao | find "8080" TCP 0.0.0.0:8080 AD01430269:0 LISTEN.. 2020. 10. 8. [IntelliJ] springboot gradle build 인텔리제이에서 스프링부트를 gradle로 빌드하는 방법을 알아보겠습니다. 스프링부트 그래들 빌드 방법 1. 인텔리제이 우측에 Gradle이라고 써있는 탭을 클릭합니다. 2. 프로젝트명 > Tasks > build > build를 클릭하면 빌드됩니다. 빌드된 jar 파일은 프로젝트명 > build > libs경로에 있습니다. 터미널에서 아래 명령어로 jar 파일을 실행합니다. > java -jar {프로젝트명}.jar 2020. 10. 8. 이전 1 다음 728x90 반응형