본문 바로가기

쿤즈 Dev/Spring Boot25

[Spring Boot] HttpMediaTypeNotAcceptableException 에러 해결 방법(트러블 슈팅) 프로그래밍을 하다보면 여러가지 로그들을 마주하게 됩니다. 특히 에러로그에 대해서는 주의 깊게 봐야할 필요가 있습니다. 이번 포스팅에서는 HttpMediaTypeNotAcceptableException 에러가 나는 이유를 알아보도록 하겠습니다. HttpMediaTypeNotAcceptableException 스프링 부트로 프로젝트를 만들고 API를 만들어서 테스트 하던 도중 아래와 같은 에러가 발생했습니다. org.springframework.web.HttpMediaTypeNotAcceptableException: Could not find acceptable representation 항상 Exception이 나올때는 어떠한 이유인지 명확하게 밝혀주기 때문에 로그를 잘 보는것도 매우 중요하다 생각합니다... 2022. 4. 22.
[Spring Boot] PostgreSQL 접속하기 위한 설정 방법 스프링 부트를 이용하여 여러 가지 웹 애플리케이션을 만들거나 공부를 하실 텐데요. 웹 애플리케이션을 만들기 위해서는 반드시 따라오는 부분이 바로 데이터베이스(DB)입니다. 데이터베이스에는 대표적으로 Oracle, Mysql, MariaDB, MS-SQL과 추가적으로 PostgreSQL이 있습니다. 이번 포스팅에서는 PostgreSQL을 접속하기 위한 스프링 부트 설정을 알아볼게요. 스프링 부트 PostgreSQL 설정방법 우선 스프링 부트에서 설정하기 위해서는 아래와 같은 몇 가지 설정을 해야 합니다. pom.xml / build.gradle 라이브러리 추가 application.properties / application.yml 우선은 데이터베이스를 연결해야 하기 때문에 접속할 수 있는 라이브러리를 추.. 2022. 4. 19.
[Spring Boot] 스프링 부트 profile 설정(스프링 부트 2.4.0 이후) 스프링 부트를 사용하면서 개발하다 보면 개발서버 혹은 로컬 서버에서의 설정들과 운영서버에서의 설정들이 다를 경우가 대부분인 것 같습니다. DB 설정부터 시작해서 여러 가지 설정들이 다르기 때문에 이 부분들을 매번 변경하기는 쉽지 않습니다. 이번 포스팅에서는 profile을 이용해서 각자 다른 설정들을 손쉽게 적용하는 방법에 대해서 알아보겠습니다. 스프링 부트 2.4.0 이후 profile 설정 yml 스프링 부트 2.4.0 이후 버전부터는 이 설정을 하는 방법이 변경되었습니다. 기존 방법은 deprecated 되었기 때문에 새로운 프로젝트를 이용해서 스프링 부트 2.4.0 이후 버전을 사용하시는 분들은 아래와 같이 사용이 가능합니다. spring: profiles: active: dev —- # dev .. 2022. 4. 18.
[Spring Boot] Exception 지원되지 않는 문자 집합(클래스 경로에 orai18n.jar 추가) 웹 애플리케이션을 리뉴얼 하거나 기존 내용을 이용해서 새로운 기능을 넣을경우, 혹은 라이브러리가 달라질경우 다양한 경우들에서 Exception들을 마주하게 됩니다. 이번 포스팅에서는 지원되지 않는 문자 집합에 관련된 Exception이 발생했을때 해결방안에 대한 내용입니다. 지원되지 않는 문자 집합 이 Exception의 경우는 DB에 세팅된 문자 인코딩 방식이 JDBC에서 지원하지않는 인코딩 방식이기 때문에 발생되는 에어입니다. HTML에서도 그렇고 Java에서도 그렇고 DB까지 한글에 관련된 인코딩 문제로 과거 많은 고생들을 했던것 같습니다. 제가 사용하던 애플리케이션에서는 기존에 ojdbc8.jar를 사용했습니다. 그리고 DB는 KO16MSWIN949이며 이는 JDBC에서 지원하지 않는 인코딩입니다.. 2022. 3. 22.
[Spring Boot] Mybatis 사용시 "[xX][mM][lL]"과 일치하는 처리 명령 대상은 허용되지 않습니다 해결방법 실무에서는 JPA와 더불어 Mybatis 역시 많이 사용하고 있는 방법 중 하나입니다. 현재 잘 운영되고 있는 시스템이라면 굳이 최신으로 꼭 변경해야 할 의무는 없으니까요. 이번 포스팅에서는 Mybais 사용중 발생하는 에러중 하나에 대해서 해결 방법을 알아보려 합니다. Spring Boot와 Mybatis를 연결해서 DB를 접근해서 사용하시는 분들도 많으실것 같아요. XML 관련 에러 열심히 Mybatis가 연동된 SQL 문장을 고치던 도중 아래와같은 에러가 갑자기 발생하기 시작했습니다. "[xX][mM][lL]"과 일치하는 처리 명령 대상은 허용되지 않습니다. 아무런 에러없이 잘 되던 어플리케이션이 위와같은 에러가 발생하면서 톰캣도 올라오지 않는 상태가 되어버렸습니다. 이유를 찾아보니 XML관련 에러.. 2022. 3. 11.
[Spring Boot] @RequestParam @RequestBody @PathVariable 차이를 알아보자 지난 포스팅에서는 API를 간단하게 호출해서 View형태로 페이지를 응답할지, 아니면 데이터의 형태로 응답할지에 대해서 ㅇ라아보았습니다. 2022.02.18 - [쿤즈 Dev/Spring Boot] - [Spring Boot] 간단한 API 만들어서 테스트 해보기(feat. @Controller vs @RestController) [Spring Boot] 간단한 API 만들어서 테스트 해보기(feat. @Controller vs @RestController) 지난 포스팅에서 스프링 부트 프로젝트를 생성하고 Run 하여 Whitelabel이 나오는 화면까지 확인해 보았습니다. 2022.02.16 - [쿤즈 Dev/Spring Boot] - [Spring Boot] 간단하게 웹 프로젝트 개발 시작하기 [Sp.. 2022. 2. 24.
[Spring Boot] 간단한 API 만들어서 테스트 해보기(feat. @Controller vs @RestController) 지난 포스팅에서 스프링 부트 프로젝트를 생성하고 Run 하여 Whitelabel이 나오는 화면까지 확인해 보았습니다. 2022.02.16 - [쿤즈 Dev/Spring Boot] - [Spring Boot] 간단하게 웹 프로젝트 개발 시작하기 [Spring Boot] 간단하게 웹 프로젝트 개발 시작하기 웹 프로젝트를 만드는 방법이 아주 쉬워졌습니다. 바로 Spring Boot 덕분인 것 같아요. 예전에는 뭐 하나 설정하려면 복잡하고 어려운 부분들이 많았지만 지금은 프레임워크 하나로 모든 세팅이 끝 koonsland.tistory.com 이렇게 해서 만든 프로젝트에서 이제부터 살을 조금씩 붙여 나갈 볼 예정인데요. 이번에는 내가 만든 프로젝트가 정말 화면에 정상적으로 나오는지 확인해 보기 위해서 API를 .. 2022. 2. 18.
[Spring Boot] Tomcat 포트 설정 및 변경 방법 Spring Boot를 이용하여 웹 애플리케이션 개발을 하다 보면 여러 가지 서비스 포트들로 인하여 중복된 포트를 사용할 수 없는 경우가 발생합니다. 특히 마이크로 서비스 아키텍처 (MSA)를 공부하거나 사용해야 한다면 포트 설정 방법이 필요합니다. 이번 포스팅에서는 간단하게 Tomcat의 포트 설정 방법을 알아보도록 하겠습니다. Spring Boot 웹 어플리케이션 서비스 기본 포트 Spring Boot를 이용해서 Spring Initializr 또는 IntelliJ와 같은 툴을 이용해서 스프링 부트 웹 프로젝트를 생성하였다면 기본적으로 Tomcat이 내장됩니다. 내장되지 않았다고 해도 보통 Tomcat을 많이 사용하죠. 이때 톰캣의 기본 포트는 8080입니다. 따로 설정해 주지 않아도 기본적으로 사용.. 2022. 2. 17.
[Spring Boot] 간단하게 웹 프로젝트 개발 시작하기 웹 프로젝트를 만드는 방법이 아주 쉬워졌습니다. 바로 Spring Boot 덕분인 것 같아요. 예전에는 뭐 하나 설정하려면 복잡하고 어려운 부분들이 많았지만 지금은 프레임워크 하나로 모든 세팅이 끝나는 것 같습니다. 이번 포스팅에서는 Spring Boot (스프링 부트)를 이용해서 간단하게 웹 프로젝트를 만드는 방법을 알아보도록 할게요. Spring Boot 프로젝트 만드는 방법 스프링 부트 프로젝트를 만드는 방법은 두 가지가 있습니다. Start spring io 사이트에서 다운로드 IntelliJ (상용버전) 에서 프로젝트 생성 IntelliJ는 굉장히 편리한 개발 툴입니다. 만약 이클립스를 사용하다가 한 번 인텔리제이로 넘어오면 다시 돌아가기 힘들 정도로 강력한 툴이에요. 다만 커뮤니티 버전에서는 .. 2022. 2. 16.