<< 학습 목표 >>
1. Framework에 대해서 설명할 수 있다.
2. Spring Framework와 Spring Boot의 차이를 설명할 수 있다.
3. STS를 설치할 수 있다.
4. STS에 필요한 초기 설정을 할 수 있다.
Spring Boot는 기본적으로 Servlet, JSP 학습이 이뤄진 후에 공부하는 것을 추천함
Servlet, JSP 를 모른다면 우선 Servlet, JSP 를 학습한 후에 오자
Servlet, JSP 를 몰라도 Spring Boot 를 배울 순 있지만 이해하긴 어렵고 외울 수 밖에 없음
이해 없이 무조건 암기는 한계가 있음
Spring Boot 를 더 잘 이해하고 싶다면 Spring Framework 를 공부하면 됨
Spring Boot는 Spring Framework를 쉽게 생성하기 위한 도구라고 생각하면 됨
Spring Framework는 프로젝트 개발에 필요한 설정을 하나 하나 해줘야함
또한 설정끼리 호환이 잘되도록 버전도 맞춰줘야하는 경우가 많음
Spring Boot는 그 설정을 하나의 묶음으로 제공하기 때문에 설정을 하나 하나 해줄 필요가 없고 호환이 잘되는 설정끼리 묶어서 제공함
- "당장! Spring Framework를 사용한 프로젝트를 개발하고 싶다" Spring Boot 부터 시작
- "시간적 여유가 있거나 암기 위주가 아닌 이해 위주의 공부를 하고 싶다" Spring Framework 부터 시작
Framework 란 Frame + work 의 합성어라고 생각하면 됨
Frame은 틀이라는 뜻이고 work는 일이라는 뜻으로 "틀 안에서 일을 한다" 로 해석할 수 있음
Servlet/JSP 를 사용하면 웹 프로그램을 쉽게 개발할 수 있지만 Spring Framework에 비하면 제공하는 기능이 매우 한정적임
예를 들어 클라이언트가 서버로 정수값을 보냈을 때 Servlet은 클라이언트가 보낸 값을 무조건 문자열로 받으므로 클라이언트가 보낸 정수값을 우선 문자열로 꺼내고 정수값으로 변환해야함
그러나 Spring Framework를 사용하면 변환 없이 정수값으로 받을 수 있음
클라이언트가 서버로 정보, 예를 들어 회원 정보(이름, 나이, 연락처)를 보냈다면 Servlet은 그 정보를 문자열로 받는건 물론이고 클라이언트가 보낸 회원 정보 내 데이터(이름, 나이, 연락처)를 하나씩 꺼내서 나이는 정수로 변환한 다음 클래스를 사용해서 하나의 정보로 합쳐야함
그러나 Spring Framework를 사용하면 변환, 합칠 필요 없이 정보로 받을 수 있음
이 외에도 Spring Framework는 제공하는 기능이 매우 다양하기 때문에 웹 프로그램 개발을 할 때 개발자의 수고를 덜어줌
만약 Servlet, JSP 공부를 했는데 위 말이 이해가 안된다면 아직 Servlet, JSP 공부가 덜됐다는 뜻으로 다시 Servlet, JSP를 공부하고 오거나 그냥 그렇구나 정도로만 생각하고 넘어가도 됨
Spring Framework를 사용하면 개발자의 수고를 덜어주기는 하지만 Framework 라는 말이 붙은 것처럼 반드시 Spring의 틀 안에서 작업 해야하기 때문에 추가적으로 Spring Framework를 공부해야한다는 단점이 있음
또한 Spring Framework를 잘 모른 상태로 이를 사용해 개발을 하면 Spring Framework를 사용했지만 사용하지 않은(?) 마치 슈뢰딩거의 고양이 와 같은 상태의 프로젝트가 될 수 있음
Spring Boot 는 자체적으로 웹 서버를 내장하고 있어 웹 서버를 설치하고 연동하는 과정이 필요 없음
Spring Boot 는 이름에 starter 가 들어간 라이브러리를 제공함
이는 해당 라이브러리와 라이브러리를 사용하는데 필요한 부가적인 라이브러리까지 모두 포함하고 있는 "라이브러리 묶음(패키지)" 임
라이브러리와 부가적인 라이브러리 간에 버전을 맞춰줘야 제대로 동작하는데 이런 부분을 생략할 수 있게 버전이 다 맞춰진 패키지임
Spring Boot 로 개발하기 위한 개발툴을 설치하자
이 글의 처음에 언급했듯 Servlet, JSP는 반드시 선행되야하기 때문에 Java 설치 방법, 환경변수 설정 방법 등은 설명하지 않음
혹시 Servlet, JSP를 학습할 시간이 없어서 못한다 라고 하시는 분은 인터넷에 Java 설치 방법과 Java 환경변수 설정 방법을 찾아보고 Java를 설치한 이후에 다음 내용들을 보자
Spring Boot 개발툴은 이클립스 + STS 애드온이 설치된 [ Spring Tools 4 for Eclipse ] 를 사용할 것임
만약 Intelli J 를 사용하고 있다면 프로젝트 생성 방식에서 버튼의 이름만 다를 뿐 프로젝트를 생성하는 방법이나 생성 후 의 프로젝트 모습 등은 완전히 동일하기 때문에 Intelli J 로 Spring Boot 프로젝트 생성 방법만 따로 검색해보거나 Intelli J 는 잠시 두고 여기서 설치하는 Spring Tools 4 for Eclipse 로 학습 해도 무방함
우선 인터넷에서 sts 로 검색(1)하자
검색 후 검색 결과에 [ Spring | Home ] 으로 나오는 검색 결과(2)를 눌러 Spring 공식 홈페이지로 들어가자
검색 결과에 없다면 직접 이동 하자 ( https://spring.io )
Spring 공식 홈페이지 안에서 [ Projects ] (1) -> [ Spring Tools 4 ] (2) 로 이동
Spring Tools 4 페이지 내에서 스크롤을 살짝 내리면 다음과 같이 [ Spring Tools 4 for Eclipse ] 항목이 있음
이 항목 내에서 마지막에 있는 [ 4.18.0 - WINDOWS X86_64 ] (1) 를 선택해 Spring 개발 툴인 STS를 다운 받자
다운 받은 파일을 확인해보면 아마도 우리가 처음보는 확장자가 jar인 파일이 보일 것
이는 자바를 사용해서 압축한 파일이라고 생각하면 됨
자바를 사용해서 압축했기 때문에 압축을 풀 때도 자바를 사용해서 압축을 풀어야함
자바를 사용해서 압축을 풀려면 우선 cmd 창을 열어야함
바탕화면 내 제일 하단에 있는 작업 표시줄 내 [ 시작 ] 버튼 (1) 클릭 -> 그 상태 그대로 cmd 입력 (2) -> 명령 프롬프트 (3) 실행
이제 cmd 창 내에서 다운 받은 STS 압축 파일이 위치한 곳으로 이동해야함
그러기 위해서 다운 받은 STS 압축 파일의 경로를 알아보자
키보드의 [ 시작 버튼 + E ] 를 누르면 [ 파일 탐색기 ] 가 열림
또는 여러분이 알고 있는 방법으로 파일 탐색기를 열자
파일 탐색기 내 우측 메뉴에서 [ 다운로드 ] (1) -> 다운 받은 STS 압축 파일 우클릭 (2) -> [ 속성 ] (3) 클릭
속성 창 내에서 [ 위치 ] (1) 가 다운 받은 STS 압축 파일의 경로임
위치를 복사 하자
그 후 cmd 창으로 돌아가 cd "(복사한 위치)" (1) 를 입력 후 Enter 키를 누르자
그럼 cmd 창의 경로가 (2)와 같이 바뀐걸 알 수 있음
cmd 창이 다운 받은 STS가 위치한 경로로 이동한 것
cmd 창이 다운 받은 STS가 위치한 경로로 이동했으니 다음과 같이 java 를 사용해 압축을 푸는 명령(1)을 입력하자
대소문자와 띄어쓰기 꼭 맞춰야함 java 띄고 -jar 띄고 spring~~ 임
한 가지 팁으로는 java -jar spring 까지만 쓰고 키보드의 Tab 키를 누르면 나머지는 자동 완성됨
위 명령을 다 입력했으면 Enter 키를 눌러 자바를 사용해 압축 푸는 명령을 실행하자
그러면 아래와 같이 압축 해제 상태(1)가 나오며 압축이 풀림
압축이 모드 풀려 다음과 같이 커서가 깜박이고 있다면(1) cmd 창을 닫자
이제 다운로드 폴더를 보면 다음과 같이 sts~ 폴더(1)가 있을 것
만약 sts~ 폴더가 없다면 cmd 창을 여는 부분부터 다시 따라와보자
sts~ 폴더 안으로 들어가면 [ SpringToolSuite4 ] (1) 가 있음
이 프로그램이 Spring Boot 개발툴임
Spring Boot 개발툴을 실행시켜보자
실행시킨 후 약간의 시간이 흐르면 아래와 같은 [ Workspace ] 를 지정(1)하는 창이나옴
Workspace 란 이 개발툴을 사용해 생성한 프로젝트가 위치할 기본 경로임
Workspace 는 그대로 사용해도 되고 [ Browse ] 를 눌러 다른 폴더를 지정해도 됨
이 화면은 개발툴을 실행시킬 때 마다 매번 열리므로 [ Use this as ~ ] 체크 박스(2) 를 체크 해 다음부터는 묻지 않도록 하자
설정이 끝났다면 [ Launch ] (3) 를 눌러 개발툴을 실행시키자
여기까지 개발툴을 설치했음
개발툴은 일반적으로 sts 라고 부르니 우리도 앞으로 sts라고 부르자
마지막으로 꼭 해줘야하는 간단한 sts 설정을 하고 마무리 하자
sts는 이클립스의 최소한 + Spring Boot 개발에 필요한 환경 이 설정된 개발툴임
앞으로 우리가 HTML, CSS, JSP 파일 등을 추가해 학습을 해야하는데 현재 sts 에는 이런 파일을 추가할 수 있는 설정이 되어있지 않음
이러한 파일들을 추가할 수있도록 설정을 하자
sts 내 상단 [ Help ] (1) -> [ Eclipse Marketplace... ] (2) 클릭
[ Eclipse Java EE developer tools ] 로 검색(1) -> Eclipse Java EE developer tools [ install ] 버튼(2) 클릭
검색 결과가 나오기 까지 시간이 다소 소요되므로 기다리면 됨
설치할 항목들이 나오는데 모든 항목을 다 설치하도록 체크(1) -> [ Confirm ] (2) 클릭
설치에 동의함(1) 을 선택 -> [ Finish ] (2) 클릭
sts 오른쪽 하단(1)에 작게 설치되고 있다는걸 알 수 있음
설치 중 다음과 같이 다시 한번 "진짜 설치하는거 맞아?" 라고 물어보는 창(1)이 뜨는데 [ 맞다 ] (2) 로 체크 -> [ Trust Selected ] (3) 클릭
( 정확히 설명하면 진짜 설치하는거 맞아? 창은 아니지만 그렇게 생각하고 넘어가자 )
설치가 다 되고나면 [ Restart Now ] (1) 를 눌러 sts 를 재시작하자
한글 관련된 것들이 정상적으로 보이도록 문자열 인코딩을 UTF-8 로 설정해줘야함
sts 내 상단 [ Window ] (1) -> [ Preferences ] (2) 클릭
Preferences 창 내에서 [ encoding ] 으로 검색(1) -> [ Workspace ] (2) 선택 -> [ Text file encoding ] (3) 이 UTF-8 이 아니라면 UTF-8 로 설정 후 [ Apply ] (4)
그 후 나머지 항목(CSS Files, HTML Files, JSP Files, XML Files)의 Encoding을 모두 UTF-8 로 변경
마지막으로 JSON 으로 검색 (1) -> [ JSON Files ] (2) 의 encoding (3) 도 UTF-8 로 변경
변경 후 [ Apply and Close ] (4) 클릭
Encoding 을 UTF-8 로 설정해야 한글이 제대로 입력됨
'Spring + Boot > Boot-Chapter01' 카테고리의 다른 글
Chapter01. Spring Boot - Postman / 뷰 없이 백엔드 개발하기 (0) | 2023.04.08 |
---|---|
Chapter01. Spring Boot - 뷰(View) 설정 (0) | 2023.04.08 |
Chapter01. Spring Boot - 프로젝트 관리 도구 (0) | 2023.04.07 |
Chapter01. Spring Boot - Spring Boot 서버 설정 (0) | 2023.04.06 |
Chapter01. Spring Boot - 프로젝트 만들어보기 (0) | 2023.04.06 |