저는 먼저 이클립스를 사용해서 프로젝트를 생성해볼건데요.
새로운 프로젝트를 생성하기위해 new - project - Maven Project를 클릭해줍니다.
스프링 프로젝트는 Maven Project가 되겠습니다.
Create a simple project (skip archetype selection)을 체크해주고 Use default Workspace location은 원래 체크가 되어있습니다.
이것도 마찬가지로 체크해주세요.
그다음으로 넘어가면 이런 모습의 모달창이 나왔을 것입니다.
먼저 Group Id는 간단하게 말하면 내가 지금 사용하고 있는 프로젝트를 감싸고 있는 큰 프로젝트가 있을수도 있습니다.
지하철로 예를들자면 1호선 프로젝트가 있을수도있지만 서울 메트로라는 전체적인 프로젝트가 있을수도 있게되겠죠.
Group Id는 전체적인 그룹의 Id를 주는것입니다.
하지만 하나하나의 프로젝트는 Artifact Id라고 할 수 있습니다.
위의 두개만 필수적으로 작성하면 프로젝트는 만들수 있습니다.
이렇게 Finish를 누르면 프로젝트가 잘 생성이 됩니다.
프로젝트는 생성을 했지만 설정을 해야할것이 몇가지가 있는데요.
우선 pom.xml을 작성해야합니다.
스프링을 사용하기 위해서는 스프링의 각 기능인 모듈을 사용하게 됩니다.
모듈에는 코어라는 것도 있고 JDBC도 있고 WebMVC도 있고 여러가지가 있습니다.
이런 필요한 모듈을 가져오기위한 파일이 pom.xml입니다.
이런식으로 디펜던시를 작성해야합니다.
<dependencies>태그 안의 내용을 잘 살펴보면 <groupId> <artifactId> <version>이 존재하는데 Maven Project를 만들때 필요했던 요소들이죠!
프로젝트를 열어보면 pom.xml이 존재합니다.
이부분에 사용할 모듈을 가져와야하는데 이를 직접 코딩을 해도 되지만
대표적으로 이 두가지 사이트에서 많이 모듈을 가져옵니다.
이렇게 pom.xml을 작성하고 저장을 하니 자동으로 Maven Dependencies에 spring-context모듈이 생겼네요!
근데 자세히 보면 뭔가가 에러가 떠있는데요.
이 에러는 프로젝트의 JRE라이브러리 버전이 메이븐 설정파일에 명시되어 있는 버전과 일치하지 않아서 발생하는 에러이므로 프로젝트를 업데이트하라고 합니다.
이럴때는 프로젝트 우클릭 - Maven - update Project를 눌러서 프로젝트를 업데이트해주면 됩니다.
업데이트를 하니 에러가 사라졌네요!
일반적으로 자바나 JSP를 공부한 다음 스프링을 공부하게 됩니다.
자바나 JSP는 프로젝트를 생성하는 방법이 단순한데 데이터베이스를 활용한다거나 어려운 부분이 나왔을때부터 위기가 찾아옵니다.
반면 스프링의 경우는 프로젝트를 생성하는 단계부터 많은 혼동이 오게됩니다.
프로젝트를 생성하는 방법자체가 많기 때문인데요.
프로젝트를 생성할때의 기본적인 원리를 잘 모르기 때문입니다.
프로젝트를 생성했을때 디렉터리의 구조나 파일들의 역할을 정확히 이해한다면 어려움을 겪지 않을것입니다.
그렇다면 폴더 구조를 한번 볼까요??
기본적으로 src폴더가 있습니다.
스프링은 독특하게 src폴더 아래 main폴더와 test폴더가 있네요.
또 두 폴더 안에는 각각 java폴더와 resources폴더가 있는데요.
main에 있는 java폴더는 실제로 자바를 이용해서 기능구현을 하는 부분이고 resources는 자바로 기능 구현을 하던 도중 보조적인 파일이 필요 할 수있습니다.
그런 파일들을 관리하는 폴더라고 볼 수 있습니다.
여러개의 스프링 프로젝트가 있다고 생각했을때 pom.xml파일을 통해 필요한 라이브러리를 다운받아서 쓸수 있도록 도와줍니다.
pom.xml에 명시를 해놓는것 만으로도 필요한 라이브러리만 다운받도록 도와주기 때문이죠.
이 글은 자바 스프링 프레임워크(renew ver.) - 신입 프로그래머를 위한 강좌를 수강하며 공부한 내용을 정리한 글입니다.
https://www.inflearn.com/course/dashboard
'Java 관련 > Spring Legecy' 카테고리의 다른 글
[Spring] Hello, Spring! (스프링 프로젝트 실행) (0) | 2022.09.04 |
---|---|
[Spring] JavaConfig(xml을 java로 변경) (0) | 2022.04.12 |
[Spring] Spring JDBC (0) | 2022.04.11 |
Spring] update(버전설정 잡기) (0) | 2022.04.10 |
[Spring] 파일 업로드 / 다운로드(file upload / download) (0) | 2022.04.09 |