본문 바로가기
Spring

[Spring] 스프링 세팅

by moca7 2024. 10. 14.

 

 

 

ㅁ 스프링도 프레임워크다. 프레임워크는 세팅이 빡세다.

- 스프링 legacy 프로젝트를 만든다. 이건 자바 11버전에 최적화되어있다.

그런데 현재 설치된 자바가 17버전이라 11버전을 다운받는다.

- 스프링 부트쓸 때는 다시 17버전으로 한다.

 

 

ㅁ 스프링 버전이 몇이냐에 따라서 호환되는 자바 버전이 다르다.

현재 전자정부 프레임워크는 스프링 버전이 5인데 그건 자바 11버전과 호환된다.

- 스프링부트하면 스프링버전이 6인데 그건 자바 17버전과 호한된다.

- 그리고 아파치 톰캣 버전이랑도 최적화되어있는 버전이 다 다르다.

 

 

 

 

 

ㅁ 구글 드라이브에서 공유받은 설치파일을 다운로드 받는다.

 

 

 

 

 

 

 

ㅁ 현재 내 pc에 설치된 자바 버전 확인하기

 

- cmd에서 "java -version"을 입력하면 내 pc에 설치된 자바 버전을 확인할 수 있다.

아마존 코레토의 17버전으로 설치했었다.

- 한 pc에 자바 버전을 여러개 설치해 놓을 수 있다.

 

 

 

 

 

ㅁ 아마존 코레토 11버전 설치파일을 실행한다.

 

 

- 다 next 눌러서 설치한다. 딱히 체크할 것은 없다.

 

 

 

 

 

 

ㅁ 다시 자바 버전 확인하기

 

- 11버전이 잡힌다. 17버전이 사라진 것은 아니다. 

- 어떤 회사에서 제공하는 jdk냐에 따라서 jdk가 설치되는 폴더는 달라진다.

우리는 오라클에서 제공하는 jdk가 아닌 아마존이 제공하는 오픈jdk를 설치했다.

 

 

 

 

 

ㅁ 내pc 우클릭 속성 - 고급시스템 설정 - 환경변수

 

 

- 시스템 속성에서 "환경 변수"를 누른다.

- 환경 변수에서 아래 시스템 변수에서 "Path"를 눌러본다.

 

 

 

 

- 위에 있는게 자바 버전으로 잡힌다. 17버전을 11버전보다 위로 올리면 17버전이 잡힌다.

- 자바 17, 오라클, 자바11 순서로 설치했었다.

 

- 아마존 코레토로 설치하면 자동으로 path에 추가를 해준다. 오라클 걸로 설치하면 수동으로 추가해야 한다.

 

 

 

 

 

- 아마존 코레토가 JAVA_HOME이라는 변수도 자동으로 추가해준다.

이것도 추가해주는게 좋다. 자바로 만들어진 서드파티 앱들이 JAVA_HOME이라는 변수를 찾기 때문이다.

오라클 JDK로 설치하면 직접 설치해야 한다.

 

 

 

 

 

 

 

ㅁSTS 설치

- 이클립스에서는 스프링 개발을 할 수 없다. 그런 툴이 없다.

- 스프링 개발이 가능한 이클립스를 다시 구축한다.

- 그걸 spring tool suite라 한다. 약자로 STS라고 한다.

- 이클립스 기반이라 익숙하다.

 

- STS도 버전 3과 버전 4가 있다.

- 스프링 부트할 때는 sts 버전4로 한다. 지금은 3로 한다.

 

 

 

 

 

- spring-tool-suite-3.9.17.RELEASE-e4.20.0 파일의 압축을 푼다.

 

 

 

 

 

 

 

- 경로가 너무 길어서 압축을 풀 때 오류가 날 수 있다.

그런데 저 파일들은 딱히 필요없는 파일들이라 모두 체크하고 건너뛰기 한다.

 

 

 

 

 

 

- sts-bundle이란 폴더가 있어야 하고, 

 

 

 

 

- 그 안에 저 3개 폴더가 있어야 한다.

 

 

 

 

 

 

 

- 뭐가 빠진거같으면 다시 압축을 풀어야 한다.

 

 

 

 

- sts-bundle을 복사해서 c 드라이브에 붙여넣기 한다.

실행 파일은 c드라이브에 두는게 좋다.

 

 

 

- sts-bundle을 STS3로 이름을 변경한다.

- legacy로 웹 프로젝트를 다 만들고 스프링 부트 프로젝트로 바꿔볼 것이다.

 

 

 

 

 

 

ㅁ 워크스페이스 생성

- C:\workspaces에 07_spring-workspace라는 폴더를 만든다.

 

 

 

- 이게 스프링 개발이 가능한 이클립스다. 이것도 이클립스라고 보면 된다. 이클립스에 플러그인이 설치된 버전이라고 보면 된다.

- 나뭇잎 모양의 STS 파일을 실행한다.

- sts3도 자바11버전에 최적화되어 있다.

 

 

 

 

 

 

- C:\workspaces\07_spring-workspace를 워크스페이스로 선택하고 Launch한다.

 

 

 

 

 

 

 

- 웰컴페이지 오류는 상관없다.

- Servers 탭에 서버가 있는데 저걸 쓰진 않는다. 깔끔하게 지울 예정이다.

- 이때까지 dynamic web project를 만들었는데 spring legacy project를 만들 것이다. 

스프링 프로젝트, 스프링 mvc 프로젝트, 스프링 레거시 프로젝트라고도 얘기한다. 다 같다. 

얘와 대조되는게 스프링 부트 프로젝트다.

 

 

 

 

 

 

- 패키지 익스플로러 빈공간 우클릭 - new - spring legacy project를 누른다.

 

 

 

 

 

 

- 이 창을 띄우면 metadata라는 폴더가 만들어 진다.

 

 

 

 

 

 

- 스프링 MVC 템플릿이 보여지지 않아서 추가한다.

 

 

 

 

 

 

- 원랜 없었는데 방금 저 창을 띄우면 만들어 지는 폴더다.

이 안에 파일 하나를 넣는다.

 

 

 

 

- org.springsource.ide.eclipse.commons.content.core 폴더에 공유받았던 파일 https-content 파일을 넣는다.

- 넣고 STS를 끄고 재실행해야 한다.

 

 

 

 

 

- C:\STS3\sts-3.9.17.RELEASE로 와서 다시 STS를 실행한다. 

매번 여기까지 와서 실행하기 번거로우니 시작 화면, 작업 표시줄에 고정해놓는다. 

 

 

 

 

 

 

- 아까와 달리 Spring MVC Project가 보여진다.

- 백지 상태의 프로젝트를 만들어서 세팅해도 되는데 너무 오래 걸린다.

 

- 그런데 이런다고 끝이 아니고, 목록에 보여지긴 하는데 안넘어가는 이슈가 있었다.

 

 

 

 

 

- Spring MVC Project를 누르고 Next 누르면 뭘 다운받는다고 뜬다. Yes를 누른다.

- Next를 일단 눌러야 템플릿을 다운받으면서 ~content 폴더가 만들어진다. 

 

 

 

 

- 에러가 뜨면서 프로젝트가 만들어지지 않는다.

- 다른 방법. OK를 누르고 STS도 꺼버린다. 어차피 재실행 해야 해서.

 

 

 

 

 

 

- "templates.mvc-3.2.2안에 넣을파일들"을 압축 푼다.

 

 

 

- 압축을 풀면 3개의 파일이 있다.

 

 

 

 

 

- C:\workspaces\07_spring-workspace\.metadata\.sts\content\org.springframework.templates.mvc-3.2.2 폴더에 저 3개의 파일을 붙여넣기 한다.

- 원래 저 파일들이 저기에 다운받아져야 하는데 안받아져서 이렇게 넣는다. 

- STS를 재실행 한다.

 

 

 

 

 

 

 

 

- 프로젝트 이름으로 "test"를 작성하고, Spring MVC Project를 선택하고 Next를 누른다.

 

 

 

 

 

- 오류가 나지 않고 잘 넘어와진다. 패키지로 com.br.demo를 작성하고 Finish한다.

 

 

 

 

 

 

- 프로젝트가 정상적으로 생성되었다.

- 원래는 이렇게 복잡하지 않았는데 갑자기 지원을 끊어버렸다. 최초에 한번만 하면 되는 설정이다.

 

 

- 지금 만든 프로젝트는 테스트해본거라 지운다. 프로젝트 우클릭 - delete - Delete project contents on disk를 체크해서 물리적인 폴더도 지운다. 

- 서버도 지운다. Servers 탭에 있는 서버 우클릭 - delete하고, 패키지 익스플로러의 Servers 폴더도 완전히 지운다.

 

 

 

 

 

 

ㅁ 워크스페이스 세팅, 서버 세팅

 

 

 

- Spring Explorer는 잘 보진 않는다. 꺼도 되고 패키지 익스플로러 옆에 둬도 된다.

- 오른쪽 상단을 보면 Java EE가 아닌 Spring 환경으로 되어있다. Spring 관련 파일들을 만들 수 있다.

- 왼쪽 하단 Servers 탭 옆의 Boot Dashboard는 나중에 스프링 부트 쓸 때 사용한다. 지금은 끈다.

 

- Console 탭 옆의 Progress 탭은 진행상황을 볼 수 있는 창이다. 굉장히 중요하다.

프레임워크가 대신해서 해주는 것들이 많은데 그땐 최대한 우리가 안건드는게 좋다.

지금 뭐가 진행중인지 실시간으로 볼 수 있다. 무언가 작업중일 때는 안건드는게 좋다.

 

 

 

 

 

- 뷰들이 정리된 모습이다.

 

 

 

 

 

 

 

 

- Window - preferences - Server - Runtime Environments

- 아까 삭제했던 서버의 흔적이 남아있다. 안지워도 크게 문제가 되진 않지만 깔끔하게 remove로 지우고 세팅한다.

 

 

 

 

- 워크스페이스 세팅, 서버세팅을 한다.

- https://moca7.tistory.com/192

- 여기서 뷰와 "New에서 뜨는 목록 설정"은 다르다. 

-  window - preferences - XML(Wild Web Devloper)에서 Download external resources like referenced DTD, XSD를 체크한다. <- 이것도 없다. XML(Wild Web Developer) 자체가 없다. 

 

 

 

 

- 14:33. 한가지 세팅을 더 한다.

프레임워크와서부터는 xml 파일에 세팅 정보들이 많다. 

 

- 매번 마이바티스 홈페이지 가서 config 파일, mapper 파일에 대한 구문을 와서 복붙하기 번거로우니 애초에 저 구문들이 붙은 채로 xml파일이 생성되게 할 수 있다.

 

 

 

 

 

- XML Catalog를 등록한다.

 

 

 

 

 

 

 

 

 

 

 

- Location에 https://mybatis.org/dtd/mybatis-3-config.dtd

- Key에 -//mybatis.org//DTD Config 3.0//EN

- 따옴표는 없어야 한다.

 

 

 

 

 

- 추가된 게 보인다. 

- 얘는 configuration 파일 용이다.

- mapper파일 용도 만든다.

 

 

 

 

 

 

- Location에 https://mybatis.org/dtd/mybatis-3-mapper.dtd

- Key에 -//mybatis.org//DTD Mapper 3.0//EN

- 따옴표는 없어야 한다.

 

 

 

 

- 둘 다 추가가 완료된 화면.

 

 

==============================================================================

 

 

 

ㅁ Servers 탭에 서버 만들기

 

 

 

 

- 톰캣 9.0을 클릭한다. 근데 Progress에서 무언가 돌고 있다.

- 내가 뭔가 행위를 한 ㅏ할 때마다 무언가 돌고 있을 때가 많다.

저기서 뭔가 진행중일 땐 최대한 뭔가 안건드리는 것이 좋다. 지금은 큰 상관 없을 것같다.

- 서버 네임은 수정해도 됙 ㅗ안해도 된다.

 

 

- 만들어진 서버를 더블 클릭한다.

- 이번에는 Serve modules without publishing을 체크 안해본다.

- 포트번호만 8888로 바꾼다. 저장하고 닫느다.

 

 

 

 

- AspectJ 체크해제

- General의 맨 아래 체크되어있는데 그냥 둔다.

- Java 탭에서 class, interface, package, source folder만 체크한다.

 

 

 

 

- STS여서 Spring이란 선택지가 생겼다.

아이콘 보면 X인데 xml파일을 의미한다. 

- 여기서는 두 개만 체크한다.

 

 

- Spring Boot 체크 해제한다.

 

 

 

- 스프링 넘어오면 이제 서블릿 직접 만들 일은 없다. 인코딩 필터도 스프링에선 제공된다.

 

 

 

 

- XML은 체크되어있지 않은데 XML File 체크한다.

 

- Maven은 체크해제한다.

 

 

 

 

 

 

- apply and close하고 확인해 본다.

 

 

 

====

 

ㅁ 추가적으로 Lombok 라이브러리를 추가하고 설치해야 한다.

- 집가서 내려받으면 pom.xml에 dependency 태그는 추가되어 있지만 경로로 직접가서 설치를 해야한다.

'Spring' 카테고리의 다른 글

[Spring] MVC (1)  (0) 2024.10.16
[Spring] DI(의존성 주입)  (2) 2024.10.15
[Spring] IOC(제어의 역전)  (0) 2024.10.14
[Spring] 첫번째 프로젝트 생성, pom.xml  (2) 2024.10.14
[Spring] 스프링 기초  (0) 2024.10.14