본문 바로가기
실습/리눅스 서버 + 스프링 부트

02. 윈도우 세팅 및 프로젝트 생성

by 이민우 2021. 5. 19.
728x90
반응형

리눅스의 세팅이 전부 완료되었으니, 이제 윈도우에서의 세팅을 할 차례이다.

물론 DB 같은 건 리눅스에 전부 만들어놓은 상태이니, 이클립스에 Spring Boot와 몇 가지 사용 예정인 툴들만 설치해두자.

 

STS를 별도로 설치하지 않고, 이클립스 내부의 마켓플레이스를 사용해 STS를 사용했다.

즉, 이클립스만 사용할 예정이다.

 

 

1. 스프링 부트 다운

 

먼저 스프링 부트를 다운받자.

이클립스를 켜서 Help => Eclipse Marketplace 로 들어가자.

그리고 STS 를 검색해서 Spring Tools 4 를 다운받자.

 

 

알아서 Confirm이나 Next, Finish만 눌러주다보면 이클립스가 재시작되고 스프링 부트 설치가 끝이난다.

 

 

스프링 부트란?

스프링에서 한 단계 진화한 형태이다.

스프링의 최대 단점은 XML이었다. 설정할 내용이 굉장히 많은데 이러한 설정을 대부분 XML로 설정을 해야하니, 그 과정이 너무 불편했다.
하지만 스프링 부트는 많은 것이 자동화되어 굳이 XML 설정을 건드리지 않아도 되고, 많이 사용하는 라이브러리들을 모아 스타터 패키지로 제공을 하기 때문에 라이브러리 관리가 쉽다는 장점이 있다.

 

 

 

2. Lombok 설치

 

원래대로라면 클래스 작성 시 getter, setter, constructor 등은 알아서 작성해야 했다.

물론 자동으로 작성해주는 기능이 이클립스 내에 탑재되어 있기는 하지만, 그것도 귀찮다.

 

Lombok은 어노테이션 기반으로 이러한 코드들을 자동으로 작성해주는 라이브러리이다.

Lombok을 사용하면 개발이 편한 것은 물론이고, 코드의 길이도 짧아져서 보기에 좋았다.

Spring Boot에 기본적으로 탑재되어 있는데, 이상하게 그냥 하면 안되는 경우가 종종 있어 별도로 설치를 해주자.

 

 

https://projectlombok.org/download

 

Download

 

projectlombok.org

위의 링크로 들어가 다운로드를 누른 후

java -jar lombok.jar

명령어를 통해 실행시킨다.

 

그리고 Specify Location... 으로 이클립스 실행 파일을 지정해준 후 설치 진행

 

만약 롬복 설치 후 ClassLoader 어쩌구 에러 발생 시 다음 포스팅 참고

https://shanepark.tistory.com/205

 

Eclipse 2021-06 에서 lombok 사용시 Unable to make protected... 에러 해결

Eclipse 2021-06 에서 lombok 사용시 Unable to make protected... 에러 해결 얼마전 부터 Eclipse 2021-06 을 설치해서 사용 해보고 있었습니다. Lombok을 사용중이던 프로젝트를 불러오려고 이클립에..

shanepark.tistory.com

 

 

3. HeidiSQL 설치

 

HeidiSQL은 MariaDB와 같은 DB들을 GUI로 다룰 수 있게 해주는 툴이다.

https://www.heidisql.com/download.php?download=portable 

 

Download HeidiSQL

Ads were blocked - no problem. But keep in mind that developing HeidiSQL, user support and hosting takes time and money. You may want to send a donation instead. Download HeidiSQL 11.3, released on 30 May 2021 Please disable your adblocker and reload the p

www.heidisql.com

가능하면 포터블 버전으로 설치하자. 딱히 다를 것도 없는데 설치하기는 귀찮기 때문이다.

 

그 후에는 연동이 되는지 확인해야 한다.

하지만 mariadb를 일반적으로 설치하면 127.0.0.1 으로 되어있어, 외부 연동을 위해 0.0.0.0 으로 이를 바꿔줘야 한다.

 

바꾸는 방법은 /etc/mysql/my.cnf에 다음 줄을 추가하면 된다.

 

그 후 systemctl restart mariadb 로 재실행을 한 후 하이디sql로 접속하여 잘 접속되는지 확인.

 

 

 

4. MongoDB Compass 설치

 

MongoDB를 UI 기반으로 사용하기 위해 설치해주자.

https://www.mongodb.com/try/download/compass

 

MongoDB Compass Download

MongoDB Compass, the GUI for MongoDB, is the easiest way to explore and manipulate your data. Download for free for dev environments.

www.mongodb.com

 

리눅스에 설치한 MongoDB와 연결하여 잘 연동되는지 확인한다.

아 물론 그 전에 외부 연동을 허용하기 위해 mariadb처럼 127.0.0.1을 0.0.0.0 으로 바꿔줘야 한다.

파일은 /etc/mongod/conf 이고, 수정 후 systemctl restart mongod 실행.

 

mongodb가 재실행 되었으면 다시 윈도우의 MongoDB Compass로 돌아와 서버와 연결한다.

 

 

 

 

5. 프로젝트 생성

 

이제 앞으로 사용할 프로젝트를 생성하자.

만들 것은 다음과 같다.

 

  1. RESTFUL API (DB CRUD)
  2. 웹 페이지 (Thymeleaf를 활용한 DB CRUD)
  3. RabbitMQ Consumer & Publisher
  4. Kafka Consumer & Publisher

위의 것들을 한 프로젝트에서 만들 예정인데,

이를 위해 프로젝트를 생성하며 필요한 것들을 전부 넣어놓을 예정이다.

일단 프로젝트를 생성한다.

 

일단 리눅스에 설치한대로 자바는 11버전을 선택.

 

사용할 디펜던시들을 추가한다.

추가해야할 디펜던시의 목록은 아래와 같다.

<!--JPA-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>

<!--MariaDB-->
<dependency>
	<groupId>org.mariadb.jdbc</groupId>
	<artifactId>mariadb-java-client</artifactId>
	<scope>runtime</scope>
</dependency>

<!--RestController-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!--mongoDB-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>

<!--Redis-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

<!--RabbitMQ-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
	<groupId>org.springframework.amqp</groupId>
	<artifactId>spring-rabbit-test</artifactId>
	<scope>test</scope>
</dependency>

<!--Kafka-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
<dependency>
	<groupId>org.springframework.amqp</groupId>
	<artifactId>spring-rabbit-test</artifactId>
	<scope>test</scope>
</dependency>

<!--Thymeleaf-->
<dependency>
	<groupId>org.springframework.boot</groupId>
	<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>

 

 

그리고 앞서 설치한 모든 DB들과 연동될 수 있도록 application.properties를 작성해놓고

주석처리해놓고 하나씩 추가하는 것 권장

 

마지막으로 custom하게 response 데이터를 전송할 클래스와 CommonCode를 만들어준다.

public class ResponseMessage {
	// 성공
	public static String OK = "OK";
	public static String CREATED = "CREATED";
	// 예외
	public static String EXISTS = "DATA ALREADY EXISTS";
	public static String NOT_EXISTS = "DATA NOT EXISTS";
	// 에러
	public static String INTERNAL_ERROR = "SOME ERROR OCCURED ON SERVER. TRY AGAIN LATER";
	// 파라미터 누락
	public static String NOT_EXISTS_KEY = "KEY IS REQUIRED ON PATH";
	public static String NOT_EXISTS_BODY = "DATA IS REQUIRED ON BODY";
	// 기타
	public static String NOT_ALLOWED_METHD = "NOT ALLOWED METHOD";
}
@Data
@Getter
@Setter
public class ResponseVO implements Serializable {
	
	private static final long serialVersionUID = -2929789292155268166L;
	
	private HttpStatus status;
	private String message;
	private Object data;
}
public class CommonCode {
	public static int SUCCESS = 0;
	public static int EXCEPTION = 1;
	public static int ERROR = 2;
}
728x90
반응형

'실습 > 리눅스 서버 + 스프링 부트' 카테고리의 다른 글

05. RestfulAPI_Redis CRUD  (0) 2021.05.23
04. RestfulAPI_MongoDB  (0) 2021.05.23
03. RestfulAPI_MariaDB  (0) 2021.05.19
01. 리눅스 서버 세팅  (0) 2021.05.05
00. VB 및 리눅스 서버 설치  (0) 2021.05.05