반응형

스피링 부트(Spring boot) 환경 설정 중

이클립스에서 마켓을 통해 다운 받아서 STS를 설치하는 방법,

spring.io에서 스프링 부트에 특화된 IDE를 받는 방법 (이클립스 기반이지만..)

Intellij(인텔리J)를 사서 쓰는 방법,

그리고 Visual Studio Code에 마켓에서 해당 솔루션들을 다운로드해서 사용하는 방법이 있는데

이번에 VSCode(Visual Studio Code)에 세팅해서 스프링 부트르를 사용하는 방법에 대해

순서대로 알아보자.

1. OpenJDK 11 설치

2021.10.11 - [Software/Spring] - [스프링 왕초보]1. Spring boot 처음 시작해봅니다. 1/2 (스프링 부트)

 

[스프링 왕초보]1. Spring boot 처음 시작해봅니다. 1/2 (스프링 부트)

스프링을 활용하는 방법이 몇가지가 있다. 그 중 이클립스를 활용해서 STS(Spring Tool Suite) 플러그인을 설치하는 방법이 있고, spring.io에 가서 툴을 다운로드 받아도 된다. 그럼 시작해본다. 1. 폴더

tiboy.tistory.com

위 포스팅을 참조해서 OpenJDK를 설치하자.

 

2. Visual Studio Code (VS Code) 다운 받기.

https://code.visualstudio.com/ 로 접속한 뒤.

자동으로 OS를 인식하나 보다.

Download for Windows 왼쪽을 파란 박스를 클릭하자.

좌측 하단에 자동으로 다운로드가 실행되고 Getting Start 화면으로 전환된다.

영어 좋아하면 직접 번역하면서 읽어보면 큰 도움이 된다.

필요한 개발자가 있다면 번역함 해볼까 하니 댓글로 요청 바람.

VS Code를 설치하고 실행을 하자.

 

설치가 되고 실행을 했다면 마켓에서 Extention Pack for Java를 다운로드한다.

왼쪽 제일 마지막 아이콘을 클릭하면 마켓 플레이스가 나오고

Extension Pack for Java를 설치하면 된다.

 

3. Spring Boot 환경 만들기.

이어서 마켓 플레이스에서 추가로 설치해야 하는데.

이번 포스팅의 목적인 스프링 부트를 설정해 보겠다.

Spring으로 검색한 뒤

Spring Boot Tools,

Spring Initializr Java Support,

Spring Boot Dashbard

이 세 가지를 설치한다.

다음으로 lombok를 검색하고 빨간 고추를 설치한다.

Maven for java도 설치한다.

 

4. 스프링 프로젝트 만들기

VS Code를 실행했다면 (ctrl + shiift + p)를 클릭하자.

그러면 검색창이 나타난다.

Spring Initializr: Create a Gradle Project...로 검색하고 클릭하자.

 

Specify Spring Boot version을 선택하자.

2.5.6을 선택할 것이다. 엔터를 치면

Java, Kotlin, Groovy가 나오는데 우리는 Java를 클릭하자.

프로젝트 Group Id를 입력하라고 하는데 보통 도메인 역순으로 입력한다니

내 맘대로 org.tiboy.test로 입력한다. 엔터~

Artifact Id를 입력하라는데 tiboy로 입력하자.

packaging type를 선택하는데 Jar/War를 클릭한다. 

난 Jar를 선택했다.

openJDK 11을 설치했기에 11을 클릭한다.

마지막으로 사용할 라이브러리를 선택한다.

Spring Boot DevTools,

Lombok,

Spring Configuration Processor,

Spring Web,

Spring Data JPA,

H2 Database,

Flyway Migration 등 필요한 라이브러리를 선택한다.

엔터를 치면

프로젝트를 생성할 폴더를 지정하라고 한다.

새로 만든 폴더를 지정하고 클릭하자.

우측 하단에 성공했다는 메시지가 나오고 Open을 클릭하면

프로젝트가 열린다.

tiboy로 프로젝트가 잘 만들어졌다.

 

5. 샘플 만들기

이제 내장 톰캣을 구동해서 샘플 페이지가 잘 열리는지 확인해보자.

src>main>java 아래 controller 폴더를 생성하자.

그리고 TestController.java를 생성하고

이렇게 코딩해보자.

코딩을 했으면 상위 java 폴더에 있는 TiboyApplication.java를 클릭해서

main 메서드 바로 위에 Run/Debug 중 Run을 클릭하자.

Run을 클릭해서 실행하면

터미널에 로그가 나타난다.

톰캣이 구동하고 구동이 끝나면 크롬 등 브라우저를 실행한다.

그리고 URL 주소창에  localhost:8080/tiboy를 클릭하자.

짜잔~

TestController.java에 return 된 내용과 일치하는 값이 브라우저에 나타난다.

정상적으로 설정이 잘 되고 실행되었다.

이제 개발환경이 어느 정도 준비되었으니

슬슬 코딩의 세계에 빠져봐야겠다.

긍정적 사고,

원활한 커뮤니케이션,

강력한 추진력은

프로젝트 성공의 지름길이다.

명심하자! 

반응형
반응형

이제 개발에 앞서 TDD 환경을 구성해 보고 싶다.

스프링 부트에서 테스트 코드 작성하는 방법을 확인해본다.

TDD에 대한 포스팅은 다음에 공부를 좀 하고 정리해보자.

준비는 최신 스프링 부트(Spring Boot IDE)를 설치하고

JUnit5를 활용해보자.

먼저 Spring Starter Project로 프로젝트를 하나 만들어보자.

이름은 JUnitProject로 한다.

Dependencies는 위 사항으로 체크하고 Spring Web은 꼭 추가하자.

이제 Controller를 생성한다.

생성할 때 구성한 package에서 controller를 추가하고 

JUnitController.java를 생성한다.

마우스 우측 클릭해서 class를 추가하면 된다.

JUnitController가 생성되면 @RestController와 @GetMapping("/")을

클래스명과 메서드명에 추가해 준다.

해당 import도 같이 추가해준다.

@GetMapping의 값은 "/"로 했는데

localhost:8080/ 으로 접근이 가능하게 해 준다.

만약 /뒤에 다른 이름으로 접근하고 싶다면 지정해 준다.

예를 들어 @GetMapping("/abc")라고 지정하면

localhost:8080/abc로 URL을 브라우저(크롬 등)에 입력하면

해당 메서드 hello()가 실행된다.

이제 Boot Dashboard에서 local 하단에 방금 만든 JUnitProject를 선택하고

서버를 구동해 준다. (Re)Start를 클릭하거나 우측 클릭으로 해당 메뉴를 클릭하면 된다.

서버가 구동되었으면 console에 정상 로그가 나타난다.

그리고 브라우저(크롬 등)를 실행한 뒤 localhost:8080을 넣고 연결한다.

이제 기본 스프링 부트 프로젝트가 생성되었다.

이제 테스트 코드를 작성해보자.

src/test/java라는 디렉터리에 com.tiboy가 있고

하위에 JUnitProjectApplicationTests.java가 자동으로 생성되었음을 확인하자.

@SpringBootTest와 @Test 어노테이션도 보인다.

JUnitProjectApplicationTests.java에 우클릭해서 Run As를 선택하면 JUnit Test가 보인다.

클릭하면 테스트가 실행된다.

그럼 이렇게 JUnit탭이 활성화되고 테스트가 진행된다.

특별히 코딩한 부분이 없기에 오류 없이 진행되었다.

이제 @AutoConfigureMockMvc 어노테이션을 사용해서 테스트 코드를 작성해보자.

https://spring.io/guides/gs/testing-web/ 활용

@Autowired를 사용해서 MockMvc 객체를 주입하고

"Wow Hello!"를 출력하는지 비교하는 테스트 코드다.

.andDo(print()) 부분을 추가하면 console에 좀 더 정확한 정보를 확인할 수 있다.

이렇게 잘 나온다.

.andExpect(content().string(containsString("Wow Hello!")) 이 부분은

출력 값을 비교한다.

아래 코드를 보자.

hello()메서드는 return값이 "Wow Hello!"이다.

그럼 테스트 코드에서 값을 바꿔보면 어떻게 될까?

"Wow Hello!!"로 기존 결과값에 !를 하나 더 넣었다.

이제 테스트해보자.

Failures가 1개 발생했다.

바로! 한 개가 더 있다고 값이 다르다면서 에러를 보여준다.

정상적으로 테스트 코드가 잘 작동됨을 확인할 수 있다.

같은 코드 같지만 어노테이션이 바뀌었다.

@SpringBootTest @AutoConfigureMockMvc 이 두 개의 어노테이션이 빠지고

@WebMvcTest로 변경되었다.

첫 번째 구성은 전체 스프링 애플리케이션 컨텍스트가 실행되지만,

두 번째는 테스트 범위를 웹 레이어로만 지정하고

특히 특정 클래스만을 지정해서 테스트할 수도 있다.

@WebMvcTest(JUnitController.class)처럼 말이다.

이제 기본적인 테스트 코드 환경을 만들고 실행도 해봤다.

기존 책들은 JUnit4 기준으로 되어 있기에 JUnit5 기준으로 소스를 구성해 봤다.

참고로 JUnit4는 vintage이고 JUnit5는 jupiter이다.

이번 포스팅은 여기까지~

반응형