이번 포스팅부터 강의 자료를 그대로 옮겨놓은 부분과, 제가 다시 한 번 풀어서 설명한 부분을 구분하겠습니다.
강의 자료
제가 직접 작성한 부분
이렇게 나누겠습니다.❕
- 메이븐 스프링 프로젝트 생성 및 설정
- STS를 이용하여 메이븐 스프링 프로젝트를 생성합니다.
- 메이븐 기반의 스프링 프로젝트를 설정하는 방법에 대해 알아봅니다.
STS로 스프링 프로젝트 생성
Dynamic Web Project -> Maven 프로젝트로 전환 순서
- Dynamic Web Project 생성
- Dynamic Web module version 3.1로 설정
- Apache Tomcat 8.0 설치 후 설정(pivotal tc server도 가능)
- 소스 디렉토리 경로를 Maven Convention에 맞게 수정해야함
- 그룹 ID, Artifact ID, 버전 설정을 통해 Maven Project로 전환
- 메이븐 중앙 저장소(https://mvnrepository.com)에서 필요한 라이브러리 조회 및 프로젝트에 선언(추가)
프로젝트를 만들 때 크게 두 가지 방법이 있습니다.
(1) 아예 Maven 프로젝트 생성 -> Spring 형태로 바꾸는 방법
(2) 프로젝트 생성 -> Maven으로 바꾸는 방법
지난 포스팅이 (1)방법으로 프로젝트를 생성한 것으로, 처음부터 Spring MVC Project를 생성했었습니다. 그래서 생성 직후 pom.xml을 보면 이런 저런 dependencies가 자동으로 설정되어 있었던 것입니다.
이번 시간에는 일반 프로젝트를 먼저 생성하고 난 후에, Maven으로 바꾸는 실습 즉, (2)방법으로 실습합니다.
위 강의 자료는 실습 순서를 간략하게 텍스트로 옮겨놓은 내용이고 ❗❗밑에 캡쳐화면만 보면서 따라가셔도 무방합니다.❗❗(제가 캡쳐를 열심히 해보겠읍니다..😂🤍)
위 이론 내용을 기반으로 STS에서 Dynamic Web Project를 생성한 후, Maven으로 전환하는 실습을 하겠습니다.
↑ File -> New -> Dynamic Web Project 클릭
↑ project name 정의 -> 서버 선택(톰캣) -> 모듈 버전 3.1로 선택 -> next 클릭
povital tc server 사용하셔도 됩니다. 하지만 전 톰캣이 심리적 안정감(?)이 느껴져서 톰캣을 굳이굳이 깔았습니다.
아직 finish 아닙니다ㅠㅠ 뒤에 더 중요한 설정 단계가 있어요❗
↑ 자동으로 생성된 소스 경로인 src를 삭제 -> Add Folder 클릭
↑ src\main\java 입력 -> OK 클릭
↑ 총 4개의 경로 입력 -> next 클릭
반드시 똑같이 써야합니다. 이건 maven과의 약속입니다.
↑ content-directory에 'src\main\webapp' 으로 변경 -> 'Generate web.xml deployment desciptor' 체크 -> finish 클릭
이 과정도 꼭 똑같이 변경해주셔야합니다.
↑ 이렇게 프로젝트가 생성되었습니다. 박수갈채 짝짞..🙆🏻♀️🙆🏻♀️
src폴더 하위 디렉토리 보시면 아까 우리가 4번씩이나 작성했던 경로가 생성되어 있는 걸 확인할 수 있습니다.
이제 이렇게 생성된 프로젝트를 maven 기반으로 전환해봅시다.
↑ 프로젝트 우클릭 -> Configure -> Convert to Maven Project 클릭
↑ Group ID 변경 -> finish 클릭
Group ID는 통상적으로 본인이 속한 조직이나 기관 URL을 거꾸로 적는다고 합니다. 전 그냥 막 지어냈구요. Artifact ID는 일반적으로 프로젝트명과 동일하게 하는 것이 관례라서 냅둡니다. Version는 현 시점에서는 딱히 중요한 게 아니라서 넘어가겠습니다. 하지만 'SNAPSHOT'은 개발버전이라는 의미입니다. 그냥 깨알 상식으로 슥 훑고 지나가면 될 것 같습니다.
↑ 전환이 완료되면 순간 IDE 화면이 샥샥 바빠집니다.
그리고 이렇게 pom.xml를 생성됨으로써 maven 프로젝트로 전환 완료되었습니다.
하지만 여기서 끝내면 이도 저도 아닌 프로젝트가 됩니다. maven 프로젝트는 됐을지언정, spring 프로젝트는 아직 안됐거든요ㅎㅎ
아래 dependencis 선언을 통해 spring 라이브러리를 끌어다 사용 가능하도록 합시다.🔨
예 이제 필요한 spring 라이브러리를 pom.xml에 태그 선언만 해주면 끝입니다. 근데... 태그 내용 알고 계신가요?..😥
전 몰라요;;
실제로 이걸 외우고 다니는 사람도 없습니다. 그럼 어떻게 작성하냐... 어쨌든 라이브러리를 끌어다 쓰긴 써야하잖어요;;;
바로
이 사이트를 참고하시면 됩니다.
maven 공식 홈페이지입니다. 필요한 라이브러리를 검색 -> 태그 내용 복붙 -> pom.xml에 복붙 하시면 됩니다.
가장 필요한 라이브러리인 spring context를 검색하여 프로젝트에 선언해봅시다.
↑ spring context 검색 -> 최상단 결과 클릭
↑ 4.3.9 release 버전 클릭
저는 제가 듣는 강의 기준으로 따라가는 거지만 다른 버전 선택하셔도 무방할 것 같습니다.
↑ HTML 코드 복붙
↑ STS로 복귀 -> pom.xml에 복붙 -> pom.xml 저장
변경 내용을 저장하는 순간 갑자기 STS가 바빠지면서 실제로 로컬에 라이브러리를 다운로드합니다.
↑ 바로 요렇게 ❗❕
위 과정처럼 라이브러리를 추가했을 경우, 해당 maven 프로젝트를 업데이트 해주셔야합니다.
↑ 프로젝트 우클릭 -> Maven -> Update Project 클릭
↑ OK 클릭
↑ 프로젝트 우클릭 -> Run As -> Run on Server 클릭
↑ 서버 선택 -> finish 클릭
쨘
머쓱;;;
서버 실행에 문제가 있는 건 아니구요 메인 페이지를 안만들어서 그렇습니다. 이렇게 나오면 정상적으로 프로젝트를 서버에 배포한 거예요
끝입니다.
이번 포스팅은 유난히 정성이 깃든 느낌이 들어서 굉장히 뿌듯합니다. 허허 사실 어제 STS 개발 세팅 하는 데 온갖 삽질을 다했어서.. 보상심리로 열심히 작성한 것 같습니다. 포기하지 않고 어떻게든 꾸역꾸역 세팅하고 포스팅까지 했습니다. 전 어른이니까요...
벌써 4월 진입입니다. 2022년 2분기 시작이네요. 이번 달은 정말 갓생러의 표본을 보여드리겠습니다. 하지만 나태해지면 은근슬쩍 저 문장을 삭제시켜놓겠죠? 전 게으른 완벽주의자니까요~ 다들 행복한 봄 되시고 코로나 조심하시고 건강 유의하시고 맛있는 거 많이 드시고
다음 내용은 IoC입니다.