티스토리 뷰
1. 들어가며
지금 보고 있는 '코드로 배우는 스프링 웹 프로젝트'에서도 그렇고, 많은 참고 자료나 포스팅에서 Spring 개발 환경으로
Eclipse 또는 STS를 사용하고 있다. 하지만 지금까지 썼던 JetBrain의 IntelliJ IDEA Ultimate이 좀 더 편하기도 하고
학생 라이센스로 뽕 좀 뽑자는 생각에 IntelliJ로 Spring 프로젝트를 구성하려고 한다.
주로 아래 블로그 포스팅을 참고하며 프로젝트를 구성했다.
https://whitepaek.tistory.com/41
위 포스팅을 따라하며 중간에 헷갈렸던 부분을 기록해보려 한다. 괜히 스프링은 초기 설정이 힘들다는 말이 그냥 나오는 게 아닌것 같다.
2. 개발 환경
MacOS Big Sur
IntelliJ IDEA Ultimate
JDK 1.8
Tomcat 9
jUnit 4.2
3. 조금 버벅였던 점들
1) xml 파일
최근에는 Java 파일을 통해 프로젝트를 관리하는 방법도 있지만, 아직은 xml 파일을 통해 설정하는 경우가 많아 일단은 이 방법을 통해 학습하려고 한다. 이클립스와 IntelliJ는 xml파일을 통해 관리하는 방법이 크게는 같지만 작은 차이가 있다.
관련 설정 | IntelliJ | Eclipse |
Bean 설정 | applicationContext.xml | root-context.xml |
내부 웹 관련 처리 작업 설정 | dispatcher-servlet.xml | servlet-context.xml |
Tomcat 구동 관련 설정 | web.xml | web.xml |
프로젝트 의존성 | pom.xml | pom.xml |
위 표는 각각의 IDE에서 대응되는 xml 파일을 나타낸 것이다. IntelliJ에서도 버전별로 xml파일의 경로가 차이가 있을 수 있지만 파일은 동일한 것으로 알고 있다.
- pom.xml
pom.xml에서는 스프링 프로젝트에서 사용하는 스프링 프레임워크, Lombok, JUnit 등등 라이브러리들과 그 버전들 등 의존성을 관리하는데 사용된다.
- applicationContext.xml
나중 포스트에서 설명할 '의존성 주입(Dependency Injection)' 그리고 ApplicationContext와 관련이 깊은 xml 파일이다.
beans 태그 안에 속성들을 작성할 때 한 줄을 누락한 사실을 모르고 1시간 넘게 삽질을 했다. 컴퓨터를 탓하기 전에 빼먹은 것은 없는지 항상 확인을 하자.
2) 톰캣(Tomcat) 설치
위 링크로 들어가, 알맞은 버전의 톰캣을 다운받는다.
MacOS의 경우, core의 tar.gz 압축파일을 다운받은 뒤 더블클릭하여 압축 해제를 해준다.
압축 해제한 폴더를 원하는 경로에 옮겨준다. 본인은 편하게 홈 디렉토리 (~/)로 이동하였다.
터미널을 열고 ~/{아파치 톰캣 폴더}/bin 디렉토리로 이동한다.
$ ./startup.sh
위 명령어를 통해 톰캣 서버를 구동해준 뒤, localhost:8080으로 접속해서 아래 창이 나오면 잘 설치된 것이다.
확인이 끝났다면 ./shutdown.sh를 통해 톰캣을 종료해주자.
$ ./shutdown.sh
3) IntelliJ에서 톰캣 설정
초기 상태라면 우측 상단에서 [Add Configuration...]을 클릭하거나, Shift키를 세 번 눌러 configuration을 검색하여 [Edit Configurations...]를 눌러준다.
좌측 상단의 + 버튼을 클릭한 뒤 쭉 내려보다 Tomcat Server->Local 을 클릭한다.
그러면 왼쪽과 같은 창이 나오는데, 위의 [Configure...] 버튼을 누르면 오른쪽 창이 나온다. 오른쪽 창의 Tomcat Home 오른쪽의 버튼을 눌러 아까 설치한 톰캣 폴더를 지정해준 뒤 [OK]를 누르고, Fix 버튼을 누른 뒤 Deployment 화면으로 이동되면 Application Context를 / 로 입력해준다.
그 뒤 우측 상단에서 Tomcat Server를 실행시켜 주면 아래와 같이 구동되는것을 볼 수 있다.
그 뒤 자동으로 브라우저를 통해 localhost:8080 화면이 나오는데, web.xml에서 미리 정의해둔 형식으로 페이지가 출력된다.
이거 말고는 초기 세팅은 다른 포스트들을 참고하면 될 것 같다.
'개발 > 스프링 일기' 카테고리의 다른 글
[Spring] DTO, VO, Entity (1) | 2022.04.15 |
---|---|
[03] Oracle DB 실행계획, 인덱스, ROWNUM, Pagination (1) | 2022.01.16 |
[03] 스프링 MVC의 구성 (2) | 2021.11.30 |
[02] Spring + IntelliJ + 오라클 클라우드 데이터베이스 (with JDBC) (3) | 2021.11.23 |
[00] Spring Framework 시작 (1) | 2021.11.23 |
- Total
- Today
- Yesterday
- jvm
- IntelliJ
- 오라클 클라우드
- Edge Detector
- 경기교통비지원
- m1 mac
- 실행 계획
- M1 맥
- Java
- 경기도 청소년 교통비 지원
- Canny Edge Detector
- 오라클 데이터베이스
- 객체지향
- pagination
- 경기버스
- 경기지역화폐
- 오라클 JDBC
- Non Max Suppression
- 싱글톤
- 인텔리제이
- 컴퓨터비젼
- 강남면허시험장
- DTO
- 코드로 배우는 스프링 웹 프로젝트
- 1종대형
- runtime data area
- spring
- hint
- JVM 메모리 구조
- Thresholding
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |