5월, 2023의 게시물 표시

Spring Boot 3 + Swagger 3 연동해 보기

이미지
  서론 사실 난 swagger가 뭔지 모른다. 대략 RESTAPI를 개발할때 서버(백엔드)와 클라이언트(프론트엔드)간 프로토콜 동기화를 위해 강력하게, 유용하게, 자주 사용된다는 정도밖에 모른다. 그리고 공부를 해 보려 해도 도대체 감이 잡히질 않았다. 그래서 설치해서 사용해 보기로 했다. 그런데 Spring Boot 3와 Swagger 3가 비교적 최신 버전이라서, Reference를 찾기가 힘들었다. 이렇게 하는게 맞나 싶지만, 어째저째 index.html은 띄웠기에 기록을 해 둔다. 제약 나는 IntelliJ IDEA Community Edition을 사용하고 있기에, 유료인 Ultimate 버전과 달리 Spring Boot를 직접 생성할 수 없었다. 번거롭긴 하지만 Spring Initializr 라는 사이트에서 초기 Framework를 Generate해서 다운로드 받는 방법이 가장 Quick & Easy 한 방법 인것 같다. Spring Boot 3 초기 코드 https://start.spring.io/ 위 사이트에 들어가서 아래와 같이 설정 해 준다. Project의 Build도구로 Gradle과 Maven을 선택할 수 있는데, 이것은 개인의 취향 차이 이므로 선호하는 것을 골라준다. Spring Boot는 현재 릴리즈된 버전중 안정화 된 버전이 3.0.6이다. 각종 영어가 붙어있는 버전은 개발중인 버전이다. Java 버전은 17을 사용해야 한다. Spring Boot 3 부터는 17이 필수라 한다. 우측에 "ADD DEPENDENCIES"를 눌러 "Spring Web"을 찾아 선택해 준다. Lombok은 Java의 Annotation Library라고 하는데, 대표적인 annotation은 "@Override"가 있다. 즉, @뒤에 기능을 특정하는 역할을 하는 것이 annotation인것 같다. Lombok이 뭔지 잘 모르겠으나 여러 사람들이 사용하는것 같다. 그래서 나도 일단 써본다.

IntelliJ IDEA 설치 및 WSL2(Ubuntu 22.04) 연동 하기

이미지
  배경 Java를 다시 공부하기로 마음 먹었다. C에서 C++로 옮겨가기도 힘들었었는데, C++에서 JAVA로 옮겨 가려니 매 순간이 갑갑하다. 그중에 하나가 Eclipse 였다. 전통적으로 Java 는 Eclipse를 사용하여 개발해 왔던것 같은데, 뭔가 종류도 많고.. 내가 지금 사용하고 있는게 맞는 버전, 종류, 방법인건가 확신도 안서고.. 기능은 많은것 같은데.. 무거운것 같기도 하고 정리가 안된 느낌이기도 하고... 그래서 알아보던중 JetBrains사의 IntelliJ IDEA라는 IDE가 있다고 하여 사용해 봤는데, 위에 불편했던 사항들을 많이 해소해 주는것 같다. 이미 많은 사람들이 선택해서 사용하고 있는것 같으니, 나도 한번 사용해 봐야겠다. 더군다나 우분투 개발환경에 익숙해져 있는 나에게 Windows의 WSL은 나의 리눅스부심을 유지할 수 있는 좋은 수단이 되기도 하였다. 그냥 해도 되지만 굳이~~~ 아래와 같이 환경을 꾸미고 개발을 시작해 보려 한다. OS : Windows 11 WSL2 : Ubuntu 22.04 IDE : IntelliJ IDEA Community Edition Java : OpenJDK 17 Windows기반에 IntelliJ를 설치하고, JDK와 소스는 WSL2상에 위치 시켜서 구동을 WSL에서 하는 방법이다. ** WSL은 이미 설치 되어 있다고 가정한다. JDK 설치 앞서 말한것과 같이 JDK는 WSL에 설치 해 주려 한다. Java 버전에 대해 얘기 하자면 그것도 몇개의 페이지는 작성할 수 있을것 같다. 내가 이해한 바로는, 가장 최신 버전중(현재까지 20이 나옴) 장기적으로 지원이 가능한 버전은 17 버전이라는 것이다. 또한 향후에 Spring Boot 3.0 버전을 사용할때에도 jdk 17버전 이상만 연동이 된다고 하기도 한다. 그래서 17 버전을 설치 하려 한다. "openjdk-17" 이라는 키워드로 설치 가능한 패키지를 찾으면 위와 같이 몇가지 항목을 보여주는데 "openj