gyeong3un2

[React.js, 스트링부트, AWS로 배우는 웹개발 101] 2장 백엔드 개발-1 본문

Full Stack/[React.js, 스프링부트, AWS로 배우는 웹개발 101] 정리

[React.js, 스트링부트, AWS로 배우는 웹개발 101] 2장 백엔드 개발-1

ʕっ•ᴥ•ʔっ 프론트엔드 개발하는 쿼카 2022. 11. 23. 16:19
웹개발 101 - 2장 백엔드 개발

[React.js, 스트링부트, AWS로 배우는 웹개발 101] 2장 백엔드 개발-1

[React.js, 스트링부트, AWS로 배우는 웹개발 101] 2장 백엔드 개발-2

[React.js, 스트링부트, AWS로 배우는 웹개발 101] 2장 백엔드 개발-3

2.1 백엔드 개발 환경 설정

우리가 최종적으로 만들려는 Todo 서비스는 4가지 기능 생성, 검색, 수정, 삭제라는 네 가지 기본적인 기능을 제공한다.

CRUD(Create, Retrieve, Update, Delete)

 

백엔드 개발 환경 설정

 

Amazon Corretto 11
- 아마존에서 배포하는 자바 11 버전
- 사용하는 이유: 무료이며, 상업적으로 사용 가능

Eclipse
- 자바 IDE
- Eclipse IDE for Java Developer로 설치

 

서블릿 기반의 서버를 사용하기 위해 개발자는 Javax.servlet.http.HttpServlet을 상속받는 서브 클래스를 작성해야 한다.

 

스프링 부트는 어노테이션과 서브클래스를 적절히 이용해 개발자들이 반복 작업과 코드를 최소화할 수 있도록 도와준다. 스프링 부트는  dispatcher servlet이라는 서블릿 서브 클래스를 이미 구현하고 있다. 또한, 스프링 의존성 주입하는데, 클래스가 의존하는 다른 클래스들을 외부에서 주입시킨다는 뜻이다. 이를 아주 전문적으로 해주는 것이 의존성 주입 컨테이너이고, 그 의존성 주입 컨테이너 중 하나가 스프링 프레임 워크이다.

 

따라서 스프링을 사용하면,

  1. HttpServlet을 상속받지 않아도 되고
  2. doGet을 오버라이드하지 않아도 되고
  3. HttpServletRequest를 직접 파싱하지 않아도 되고
  4. HttpServletResponse를 작성하지 않아도 된다.

 

어노테이션

 

어노테이션이란 메타데이터이다. 데이터인데 어떤 데이터에 대한 아주 기본적인 정보라고 생각하면 된다.

 

@SpringBootApplication

- 해당 클래스가 스프링 부트를 설정하는 클래스임을 의미한다.

- 이 어노테이션을 달린 클래스가 있는 패키지를 베이스 패키지로 간주한다.

- 애플리케이션 실행 중 어떤 오브젝트가 필요한 경우, 의존하는 다른 오브제그를 찾아 연결해준다.

 

@Autowired

- 자동으로 다른 오브젝트를 찾아 연결해주는 과정을 이 어노테이션이 해준다.

 

@Component

- 스프링에게 이 클래스를 자바 빈으로 등록시키라고 알려줌

@ComponentScan

- 이 어노테이션이 어떤 클래스에 있어야지만 컴포넌트를 스캐닝할 수 있다.

- @SprintBootApplication이 이미 @ComponentScan을 포함하고 있어 굳이 추가하지 않는다.

 

@Service

- 어노테이션 내부를 확인함

 

@Bean

- 스프링으로 빈을 관리하기 위해 직접적으로 '이 빈은 이렇게 생성해라'하고 말해줌

- 이 어노테이션을 이용해 우리는 스프링에게 이 오브젝트를 정확히 어떻게 생성해야 하는지, 매개변수를 어떻게 넣어줘야 하는지 알려줌

 

스프링 부트 실행 방법

 

  1. spring initializr에서 프로젝트 설정 후 Generate
  2. ecilpse 내에서 import gradle project
  3. cmd 실행 후 프로젝트 폴더로 이동
  4. ./gradlew bootRun 명령어 실행 후, localhost:8080 사이트 접속 

Spring initializr에서의 프로젝트 설정

 

명령어 실행 후, localhost:8080 사이트 접속에 성공했을 경우 나오는 페이지

 

Dependency Library 추가

 

https://mvnrepository.com/  에 접속 후 원하는 라이브러리를 클릭하여 버전 선택하고, jar 버전을 다운로드 하거나 maven이나 gradle 코드로 추가해도 된다.

 

Lombok

 

개발 시간 단축을 위해 Lombok 라이브러리를 사용한다. 롬복은 어노테이션을 추가하면 컴파일 시 그에 상응하는 코드를 만들어주는 라이브러리이다. 롬복을 이용하면 더 이상 getter/setter, builder, constructor를 작성하는데 시간을 소모할 필요가 없다.

 

< 롬복 사용 방법 >

- 롬복을 이용하려면 mvnrepository 사이트( https://mvnrepository.com/ )에 접속하여 Project Lombok의 Jar 파일을 다운 받아야 한다.
- 그리고 압축 해제를 하고, cmd로 압축해제한 디렉토리로 이동한 후 ( java -jar lombok-18.22.jar ) 명령어를 실행한다.
- 그리고 창이 뜨면 Install/Update를 하면 된다.

 

Postman

 

이를 이용하면 간단히 RESTful API 테스트를 할 수 있다. 이를 https://www.postman.com/downloads/ 에서 다운받아 실행할 수 있다.