왕초보용 스프링 프로젝트 실습 - 설치부터 구동까지
스프링을 처음 배웠을 때의 막막함이 아직도 생생하다 ㅋㅋㅋ
그래서 진짜 간단한 샘플 프로젝트를 구동시켜보는 과정을 자세하게 기록하기로 마음먹었다
프로젝트는 세팅하는게 99%라고 생각해서 과정이 길 예정이지만 따라하기만 해도 겉핥기는 해볼 수 있다
진짜 맛만 보는 용도의 프로젝트이니 입문자에게 추천한다
📌 환경
윈도우 10 환경
📌 게시글 흐름
1. 전자정부프레임워크, 자바, 톰캣, 오라클 설치
2. 샘플 프로젝트 다운로드 받고 살펴보기
3. 프로젝트 세팅하고 구동하기
📌 게시글 목표
스프링이 어떻게 돌아가는지 확인해보고 DB를 연동하여 웹에 DB의 내용을 표출해보는 것
📌 자바 jdk 설치하기
게시글을 참조해서 jdk 1.8을 설치한다
📌 Apache Tomcat 8.5 설치하기
톰캣 8.5 버전을 설치할 것인데 아래 링크에서 zip파일을 다운로드해 C:\ 경로에 압축을 풀어주면 된다 (경로 무관)
https://archive.apache.org/dist/tomcat/tomcat-8/v8.5.61/bin/
자바와 마찬가지로 환경변수 설정을 해주어야하는데 위의 자바 게시글을 참고해서 톰캣도 추가해주자
자바와 톰캣 환경변수 설정이 끝났다면 컴퓨터를 재부팅해준다
📌 Eclipse 설치하기
스프링 기반으로 만들어진 전자정부프레임워크를 사용할 거라 아래의 링크에서 다운로드
https://www.egovframe.go.kr/home/sub.do?menuNo=41
운영체제에 맞게 3.9.0 으로 설치 (버전 무관)
exe 파일을 받아 실행하고 압축을 풀면 되는데
이때 압축 풀기 경로는 개인적으로 설정하면 된다 (경로 무관)
압축을 풀고나면 아래와같은 폴더들이 생성되어있을 것이다
📌 Oracle 설치 및 계정 생성
오라클은 11g XE버전으로 설치해준다
똑같이 아래 링크에서 개인 운영체제에 맞게 설치해주면 된다
https://www.oracle.com/database/technologies/xe-prior-release-downloads.html
oracle zip파일 압축을 해제하고 DISK1폴더 내부의 setup 파일을 실행시켜 설치하면 된다
딱히 설치할 때 주의해야할 점은 없고 Next를 계속 눌러주다보면
system 비밀번호를 설정하는 부분이 나오는데 꼭 외울 수 있는 비밀번호로 설정하자
일반적으로 system, 0000 이런거를 패스워드로 사용한다
오라클을 정상적으로 설치하고 나면 시작메뉴에 Oracle 폴더와 함께 Run SQL Command Line 이 생겼을 것이다
Run SQL Commang Line 을 실행하고 아래의 명령어를 입력하여 관리자 계정으로 로그인을 한다
conn/as sysdba
그리고 계정을 하나 만들어줄건데 이 프로젝트와 연동할 계정이기도하다
create user scott identified by tiger;
이 명령은 scott 이라는 id의 계정을 만들것인데 비밀번호는 tiger로 해라 라는 의미이다
아이디를 만들었으면 권한을 부여해주어야 하는데 또 명령어를 입력해보자
grant connect, resource, dba to scott;
이 명령은 scott에게 connect(접속), resource(객체 조작), dba 의 권한을 주겠다는 의미이다
여기까지 에러없이 잘 진행되었다면 commit을 입력하여 변경사항을 저장해주자
commit;
📌 DBeaver 설치
선택사항인데 DB 관련 툴을 사용하면 보다 편리하게 관리를 할 수 있다
sqldeveloper나 dbeaver 등 다양한 프로그램들이 있는데 개인적으로 선호하는 DBeaver도 설치해준다
Windows installer로 설치해줬다
설치할때 주의해야할 점 없고 그냥 Next~ Next~ 하면 된다
DBeaver 설치가 끝났다면 시작메뉴에서 DBeaver를 찾아 실행한다
처음 실행하면 sample database 만들어줄까? 라는 문구가 뜨는데 아니요를 누르면
아래와 같은 Connect to a database 창이 뜬다
여기서 Oracle을 찾아 다음 버튼을 눌러주면 Connections Settings 화면이나온다
아래 사진처럼 입력해주고 왼쪽 아래 Test Connection 버튼을 클릭해본다
그럼 Driver를 다운로드하라는 창이 뜨는데 다운로드버튼 클릭
그리고 아래와같이 Connected 라는 창이 뜨면 연결 성공이다
확인 버튼 클릭 후 완료를 눌러 DB에 접송 성공
그러면 Database Navigator 라는 곳에 localhost 또는 XE 등 하나가 생겨있는걸 확인할 수 있는데
이미지처럼 열어서 사용하면 된다
아까 만들어두었던 scott 계정으로 접속이 된거고 현재 만들어진 Table이 없어 아무것도 안뜨지만 이후에 만들 것이다
아까처럼 SQL Command 창을 열어서 해야하는 일을 여기서 간단하게 할 수 있다고 보면 된다
상단에 있는 SQL 버튼을 클릭하면 SQL문을 입력할 수 있는 Script 창이 열린다
우리는 이 SQL Script와 오른쪽 내비게이터를 통한 테이블 찾기 정도를 활용할 예정이라 이정도만 알면 충분하다
프로젝트에서 사용하게될 샘플 테이블을 하나 생성해보자
이렇게 입력하고 마우스 커서를 저 단락 안에 위치해두고 컨트롤 엔터를 누르면 성공적으로 테이블이 생성된다
그리고 저장하기위한 COMMIT; 을 입력하고 컨트롤 엔터를 누른다
테이블을 확인해보기 위해 왼쪽 목록에서 아까 비어있던 Table을 오른쪽 클릭해 새로고침해준다
테이블이 잘 생성되어있다
SAMPLE 테이블에 Data를 추가해보자
아래 +버튼을 두번 눌러 샘플 데이터를 두개 넣어보자
이렇게 대충 넣고 컨트롤 S로 저장해준다
그러면 INSERT문 없이도 쉽게 테이블에 데이터를 삽입할 수 있다
여기까지 준비하면 DB는 끝이다
드디어 필요한 모든 설치가 끝났다
너무 많아서 힘들긴 하지만 한번만 하면 되니까.. 후딱 할만하다
이제 본격적으로 프로젝트 파일을 다운로드 받아서 이클립스에서 실행시켜보자
📌 샘플 프로젝트 다운로드
개인적으로 만든 껍데기 프로젝트이다
다운로드 하고 eGovFrameDev-3.9.0이 있던 경로에 돌아가서 workspace 폴더안에 study 압축을 풀어준다
📌 이클립스 실행
이제 이클립스를 실행해줄건데 아래 경로로 들어가서 eclipse를 열어준다
그리고 Select a directory as workspace가 나오면
아까 study를 풀어놨던 workspace로 설정하고 Launch
딱 켰을때 뜨는 Welcome 페이지는 x버튼을 눌러닫아준다
그러면 아래와 같은 화면이 나온다
이클립스를 처음 사용해봤다면 모든게 낯설테지만 보다보면 익숙해질 모습이다
먼저 왼쪽 Project Explorer에 아까 다운로드 받았던 study 프로젝트를 import 할건데
explorer에서 오른쪽 버튼을 클릭하고 Import를 찾아 Import 창을 열어준다
그리고 General에 있는 Existing Projects into Workspace 를 선택하고 Next를 눌러준다
그리고 Browse를 선택하여 아까 풀어놓았던 study폴더를 선택한다
그러면 이렇게 Projects 라는 란에 study가 체크된 상태로 세팅이된다
이제 Finish 버튼을 눌러준다
비어있던 Project Explorer에 study 프로젝트가 생긴다
이 과정에서 X박스의 에러가 뜰 수 있다
프로젝트를 처음 불러왔을 때 이런 에러를 자주 마주칠 수 있는데
이 프로젝트에서 필요한 무언가가 빠져있어서 나는 에러일 확률이 높다
그래서 처음 불러왔을 때 해주어야하는 작업이 있다
프로젝트를 오른쪽 클릭하고 Maven을 찾아 Update Project를 해준다
이 과정은 프로젝트 빌드에 필요한 dependency를 불러와주는 작업이다
아~주 간단하게 설명하면 프로젝트는 빌드를 위해 필요한 목록들을 적어놓는데
이 정보들을 읽어 필요한 것들을 가져와 로컬에 설치해주는 작업이다
* 이에 대해서 더 자세히 알고싶다면 Maven, pom.xml 에 대해서 구글링해볼 것
Update Project를 해주면 에러가 사라진다
에러표시가 있으면 프로젝트 가동에 문제가 생기기때문에 제거를 해야한다는 점 유의
프로젝트를 구동하기 전에 프로젝트 구조에 대해서 간단하게 알아보자
최대한 간단하고 어렵지않게 풀어써놓은 코멘트이다
이 구조는 MVC 패턴이라고도 하는데 스프링은 거의 비슷한 구조를 갖고있다
설정파일에 대한 부분은 프로젝트마다 경로나 파일명이 다를 수 있다는 점만 알고 있으면 되고
controller mapper service vo 로 분리되어있는 구조만 이해하고 넘어가도 충분하다
(나중에 프로젝트를 분석하다가 이해가 안될 때 다시 읽어도 좋다)
직접 구동되는 프로젝트를 보며 공부하는게 더 이해가 쉬우므로 바로 구동을 위한 준비를 해보자
이는 2편에서 계속된다!