현업에서 프로젝트를 하다보면 가장 많이 사용방식이 최근에는 RESRFul API를 통한 데이터 관리이다. Interface를 하는 경우도 그렇고 Web Service, Mobile App Service 등 거의 대부분의 Web Application이 Java로 개발되는 경우 SpringBoot Framework을 사용하여 RESTFul API 형태로 데이터를 송수신하고 Web Service를 구현한다.
프로젝트들이 성격과 내용이 다를 뿐이지 데이터를 다루는 방식은 크게 다르지 않기 때문에 화면에서 로그인을 하고 로그인한 사용자가 자료를 조회하고, 조회된 자료를 수정하고, 신규자료를 입력하는 등의 일련의 작업은 크게 다르지 않다. 이 과정에서 외부와의 연동은 RESTFul API를 통해서 JSON으로 전문을 주고 받는 경우가 대부분이기 때문에 가장 기본이 되는 Login 및 RESTFul API의 사용법을 포스팅하고자 한다.
가능하면 짧게 하려고 하겠지만 Eclipse를 통해서 진행과정을 모두 기록하다보면 그 양이 짧지 않을 듯 싶다. 그 첫번째로 이번에는 개발환경을 설정하는 단계로 시작하겠다.
Marketplace를 통해서 Spring Tools 4를 비롯해 개발에 필요한 PlugIn을 설치하자. 그리고 Lombok은 별도로 설치를 진행해야 한다. Lombok은 해당 사이트에 다운로드 받아서 설치해야 한다.
https://projectlombok.org/download
다운로드 받은 lombok.jar를 이클립스가 설치된 디렉토리로 이동을 하고 Console 화면에서 java -jar 명령어로 실행해준다.
만약 Lombok을 설치하고도 getter / setter 부분에서 빨간줄로 에러가 난다면 Build Path의 내용을 확인해 봐라. lombok.jar 가 build path에 잡혀 있지 않다면 수동으로 추가해주면 해결 된다.
postgreSQL을 설치하고 Sample Data로 연습하기 위해서 제공되는 dvdrental 을 갖고 web service 프로젝트를 생성하고 더블어 RESTFul API를 구현하는 순으로 진행해보려고 한다. postgreSQL 설치 및 Sample Database Import에 대한 부분은 여기서는 생략하고 나중에 필요하다면 별도의 포스팅으로 게시하도록 하겠다. 하지만 해당 사이트에 방문해서 보면 import 하는데 어려움은 없을 것 같으니 다운로드 받아서 차근차근 따라해보면 금방 설치 할 수 있을 것이다.
https://www.postgresqltutorial.com/postgresql-getting-started/postgresql-sample-database/
먼저 SpringBoot Project을 생성하자.
Name | DVDRental |
Type | Maven |
Packaging | War |
Java Version | 22 |
Language | Java |
Group | kr.co.iamwhatiam |
Artifact | DVDRental |
Version | 0.0.1-SNAPSHOT |
Description | DVD Rental Service |
Package | kr.co.iamwhatiam.dvdrental |
추후 추가적으로 필요한 사항은 Maven을 통해서 추가하면 된다.
기본적으로 개발하기 위한 초석은 마련이 되었다. 이제 여기에 MVC 형태로 Model, Service, Controller, View 등을 살붙이면서 추가하고 Login Session 을 위한 Interceptor 등 추가적인 기능들을 하나씩 구현하면서 더해가면 된다. 그러면 정상적으로 프로젝트가 생성되었는지 확인하기 위해서 web service가 정상작동 하는지 Run 을 해보자.
Spring Boot는 Tomcat을 기본으로 포함하고 있기 때문에 별도의 Tomcat 설정을 하지 않아도 된다. 프로젝트 선택 후 Run As 에서 Spring Boot App 을 실행하면 서버가 구동된다.
만약 구동시 에러가 발생한다면 아마도 최초 프로젝트 생성시 DB Connection Driver를 선택했기 때문에 DB연결 정보가 없다고 에러가 나는 케이스 일 것이다.
다음 포스팅에서 작성할 내용이지만 일단 정상적인 구동을 확인하기 위해서 DB Connection 정보를 입력하면 구동이 정상적으로 이루어 지는 것을 확인 할 수 있을 것이다.
spring.application.name=DVDRental
# http port
server.port=8080
# PostgreSQL 데이터베이스 설정
spring.datasource.url=jdbc:postgresql://192.168.0.106:5432/dvdrental?currentSchema=public
spring.datasource.username=postgres
spring.datasource.password=postgres
spring.datasource.driver-class-name=org.postgresql.Driver
# Hibernate JPA 설정 (필요에 따라 조정)
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.PostgreSQLDialect
spring.jpa.hibernate.ddl-auto=update
spring.jpa.generate-ddl=false
spring.jpa.show-sql=true
#logback
logging.level.root=info
logging.level.com.kbdsi=debug
logging.level.com.prototype.domain.repository=TRACE
이번 포스팅은 SpringBoot 프로젝트를 생성해서 정상적으로 web service 가 기동되는지 확인하는 것 까지 진행했다. 다음 포스팅에서는 개발자들이 첫걸음을 떼는 "Hello World"를 해당 프로젝트에서 web browser를 통해서 출력되게끔 진행하도록 하겠다.
그에 앞서 미리 본인의 PC 또는 개발 서버에 postgreSQL을 설치하고 dvdrental Database를 Import 해 놓도록 하자. Linux에서 postgreSQL을 설치하는 과정에 대해서는 아래 글을 참고 하면된다. Windows 또는 OSX에서의 설치도 어렵지 않으니 postgreSQL 사이트의 안내를 따라서 진행하자.
https://clien78.tistory.com/222
다음글 : https://clien78.tistory.com/232
'Blog > JAVA' 카테고리의 다른 글
MyBatis XML의 Parameter 기호인 $ 와 # 은 어떤 차이가 있나 ? (0) | 2024.07.18 |
---|---|
RESTFul-API SampleCoding (Java,SpringBoot,Maven,myBatis) #4 (0) | 2024.07.17 |
RESTFul-API SampleCoding (Java,SpringBoot,Maven,myBatis) #3 (0) | 2024.07.16 |
RESTFul-API SampleCoding (Java,SpringBoot,Maven,myBatis) #2 (2) | 2024.07.16 |
Rocky Linux 8 설치 후 Java 관련 설치 및 환경변수 설정 (0) | 2024.07.03 |