SpringBoot 기반의 API 서버를 구축하기 위해 로컬 개발 환경을 설정하는 과정입니다.
Sample API 설정 및 Heroku 배포 까지의 과정을 기술합니다.
File > New > Project... > Spring Assistant
를 선택 후 필요한 정보를 입력합니다.Spring Boot Version
을 변경할 수 있습니다.샘플 API 프로젝트는 Spring Web만 체크해도 되지만, 저는 나중에 확장을 위해서 Lombok, Spring Data JPA, Spring Data JDBC, MySQL Connector 까지 추가하였습니다.
프로젝트를 생성하고 나면 아래 그림과 같은 구조를 보실 수 있습니다.
몇 개의 파일은 github, heroku 연동을 위한 파일이어서 없을 수도 있습니다.
Controller 작성
@RestController
public class TestController {
@GetMapping({"", "/", "/hello"})
public String hello() {
return "hello";
}
}
테스트
@SpringBootApplication
public class WisestudyApplication {
public static void main(String[] args) {
SpringApplication.run(WisestudyApplication.class, args);
}
}
여기서는 Maven 플러그인을 통한 Heroku 연동 및 배포를 하였습니다.
Heroku CLI, Github 등 다양한 연동 방법도 있습니다 :D
Heroku에서 회원가입(or 로그인)이 완료되었다는 가정으로 작성합니다.
New > Create New App
Create app
pom.xml 설정
<properties>
...
<full-artifact-name>target/${project.artifactId}-${project.version}.jar</full-artifact-name>
</properties>
<build>
<plugins>
<plugin>
<groupId>com.heroku.sdk</groupId>
<artifactId>heroku-maven-plugin</artifactId>
<version>3.0.2</version>
<configuration>
<appName>{HEROKU_APP_NAME}</appName>
<includeTarget>false</includeTarget>
<includes>
<include>${basedir}/${full-artifact-name}</include>
</includes>
<jdkVersion>${java.version}</jdkVersion>
<processTypes>
<web>java $JAVA_OPTS -jar ${full-artifact-name}</web>
</processTypes>
</configuration>
</plugin>
</plugins>
</build>
server.port=${PORT:8080}
mvn clean heroku:deploy
실행war
으로 설정하였을 경우, mvn clean heroku:deploy-war
로 실행More > View logs
로 확인 가능Open app
으로 서버 접속하여 실행 확인첫 기술 블로그 작성이어서 보기 어렵거나, 많이 미숙한 부분이 있으니, 수정사항은 적극 반영하겠습니다. 감사합니다. :D