커피주문 샘플 애플리케이션을 애플리케이션 빌드 후에 실행을 하려고 한다. 일단 기존 yml은 가상 메모리 환경인 H2를 이용하고 있었다.
이번 실습에서는 mysql을 이용해 애플리케이션을 실행하려고 한다.
기존 스프링 application.yml은 Local 환경에서 사용을 해 왔었다. 이번에는 기존과 달리 서버 환경에서 실행하기 때문에 yml 기능 분리가 필요하고, profile 설정으로써 새롭게 작성한 application-server.yml을 이용하여 설정하려고 한다.
server:
port:
8081
spring:
jpa:
hibernate:
ddl-auto: update
show-sql: true
properties:
hibernate:
format_sql: true
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:{포트번호}/{사용할 스키마 이름}
username: //이름
password: //패스워드
[코드] application-server.yml 설정
jpa
datasource
buildgradle에 아래와 같은 코드를 추가해 의존성을 주입한다.
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
runtimeOnly 'mysql:mysql-connector-java'
[코드] 의존성 주입
앞의 과정에서 애플리케이션의 실행에 필요한 설정은 모두 끝났다.
이번 과정에서는 애플리케이션을 실행하고, 실제로 mysql을 사용하고 있는지 데이터를 전송한 후 데이터베이스를 통해 해당 데이터가 존재하는지 알아보려고 한다.
application을 정상 실행하기 위해 빌드를 수정해줄 필요가 있다.
위 그림 처럼 Configuration에 들어간 후에,
[Program arguments] 필드에 spring.profiles.active=server
을 입력해서 활성화할 프로파일을 'server'로 지정한다.
설정을 다 마친 후 새롭게 지정한 빌드로 애플리케이션을 실행 한다.
데이터 요청은 Postman으로 진행한다.
위 그림처럼 PostCoffee 컨트롤러에 요청을 보내고, 데이터베이스에 해당 데이터를 저장한다.
저장한 후에 Mysql 콘솔에 SELECT * FROM COFFEE
코드를 실행하면 위 그림처럼 요청으로 보낸 데이터가 정상적으로 저장이 되었음을 알 수 있었다.
동시에 애플리케이션에서 Mysql 설정으로 Mysql과 정상적인 연동이 이루어졌음을 알 수 있었다.