2022. 10. 31. 23:26ㆍ3층 1구역 - 개발의 장/Spring
1. 서론
몸살로 인해 목요일부터 금요일까지 골골대다 딱 오늘 정신차렸다.. 환절기이다 보니 감기 걸리는 일이 많으니...
모두 주의하도록 하자.. 또 코로나 재유행 및 독감 유행이라고 하니 모두 몸 건강히....
필자는 지금까지 spring관련 게시물을 업로드 하면서 레거시 프로젝트 위주로 설명했었다.
강사님 曰
java언어를 사용하며 spring을 사용하는 업체들은 대부분 레거시 프로젝트를 기반으로 만들어졌을 확률이 높을 것.
이번에는 다른언어로 개발을 진행하다가 spring이 그렇게 좋다더라 해서 기존언어를 java언어로 전환하려는 기업이나
스타트업 회사들이 쓸만한 스타터 프로젝트에 대해 알아보고자 한다. 레거시 프로젝트를 다뤄봤다면 크게 다를 거 없으니 잘 할거라 생각된다.
2. 본론
먼저 리프레쉬 하는 느낌적인 느낌으로 툴 버전을 3에서 4로 업그레이드 해보도록 하자.
검색창에 spring 관련해서 검색해보면 저런게 뜰 것이다.
우리가 써볼 툴 버전 4이다. 운영체제에 맞는 것을 다운로드 받도록 하자.
다운을 받았다면 이런 비스무리한 아이콘이라던가..... 아니면 기존에 알집이나 반디집을 사용한다면
이런 아이콘 둘 중 하나일 것이다.
만약 아이콘이 위와 같다면 그냥 실행하여 언팩을 진행해주면 된다.
근데 뭔가 zip모양이다 하면 압축을 풀 경우 뭔가 오류가 날 것이다.(해보지는 않았다! 다시 다운로드 하기 귀찮아...)
그러면 어떻게 하는가?
명령 프롬프트(cmd) 열도록 하자.
실행 창 또는 윈10 이상이면 있는 검색 창에 cmd를 타이핑 하거나 명령 프롬프트를 직접 입력하여 열도록 하자.
아까 다운로드 한 툴4버전의 경로를 알아야 한다. 필자는 크롬으로 다운 받았기 때문에 다운로드 된 파일은
'다운로드' 폴더에 저장되어 있을테니
이 주소창에서 주소를 복사 하면 된다던데 필자는 안되기 때문에
해당 파일에 속성을 클릭하여?
위치를 보면 알 수 있다.
위치를 알아냈으니
다음과 같이 입력하고 엔터를 누르면
위와 같이 .jar파일이 있는 경로가 설정된다. 그 후
java -jar jar확장자의 파일명을 그대로 복사하여 붙여넣고 엔터를 클릭하면
약간 얼타다가(?)
아래와 같이 언팩이 진행된다.
이렇게 언팩이 완료된 파일은 각자 찾기 쉬운 곳에 배치하도록 하자.
실행해보자~!!!!!!!!!!!!
실행하면 workspace를 지정하라고 나오니까 폴더 하나 만들어서 지정해주자
이제 끝!!!!!!!!....이라고 말하고 싶지만 아직 끝이 아니다(아쉽다....)
실행하고 window-preferences진입해서 검색창에 인코딩의 enco정도만 쳐보자.
2번이나 한 여러분들은 모두 알 것이다 "에이~~ UTF-8 지정해주려는 거네? 에이~~" 라고 눈치채겠지만?
뭐가 많이 빈다???
그렇다 뭐가 많이 빈다.
help 메뉴에서 이클립스 마켓플레이스를 클릭하도록 하자.
클릭하고 popular 카테고리를 선택 후 스크롤을 조금만 내려보면
위와 같은 녀석이 있는데 인스톨 하도록 하자.
약간의 로딩이 지나가면
위와 같은 창이 나올텐데 required 가 전부 체크되어있는지만 가볍게 확인하고 Confirm을 누르자
그러면 위와같은 창이 나오기 때문에 동의를 체크하고 Finish버튼을 누르도록 하자.
우측 하단을 보면 이렇게 인스톨 중인 것을 볼 수 있다.
인스톨이 완료되면 spring을 재시작 해달라고 따로 창이 뜨는데 재시작 해주도록 하자.
다시 window-preferences진입하여 검색창에 enco정도만 쳐보자
이후 평소하던대로 UTF-8설정후 적용후 닫기를 클릭하면 된다.
거의 다왔다 조금만 힘내자
Create new Spring Starter Project를 클릭하여 스타터 프로젝트를 만들어보도록 하자.
필자는 위와같이 설정하였다.
Packaing을 살펴보면 Jar와 War 두가지가 있을텐데
Jar은 순수 자바에서만 사용하고
War는 웹에서 사용가능한 패키징을 나타낸다.
후 next를 누르면
스프링 버전을 선택할 수 있는데 딱히 별 다를건 없어보이니 기본 값인 2.7.5를 사용하도록 하고
여기서 의존성을 초기에 주입하고 갈 수 있다.
필자는 아래와같이 초기 의존성을 주입했다.
??? : 어? 난 초기에 설정 못했는데 프로젝트 다시 만들어야 돼?
그런 것은 아니다. 어쨋든 형식이 maven이기 때문에 pom.xml은 만들어 질 것이고 여기에 의존성을 주입할 수 있기 때문에
크게 걱정하지 않아도 된다.
아 그리고 레거시 프로젝트와 다르게 스타터 프로젝트는 코드가 새로 작성되거나 수정될 때 서버가 재시작되거나 하지 않는다.
재시작이 되게 하고 싶다면 Spring Boot DevTools의존성을 주입하면 된다.
필자는 어차피 코드 수정하거나 작성하면 수동으로 재시작 하기 때문에 따로 주입하진 않았다.
다 끝났으면 Finish를 누르자.
그러면 프로젝트 생성과 동시에
의존성을 주입하기 위해 로딩창이 뜬다.
프로젝트가 만들어지는데 약간 시간이 걸리니 여유있게 차 한잔 하고 있으면 된다.
초기 패키지에 들어있는 java파일이다. 거의 건드릴 일 없으니
그냥 얘네 없으면 spring이 작동하지 않는다 정도만 알고 지나가자.
pom.xml도 있으니 의존성 2개만 주입하고 가자.
<dependency>
<groupId>org.apache.tomcat.embed</groupId>
<artifactId>tomcat-embed-jasper</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.servlet/jstl -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
</dependency>
톰캣 서버를 이용할 수 있는 의존성과 jstl을 이용할 수 있는 의존성이다.
src/main/resources 하위에 보면 위와 같이
application.properties가 존재하는데 장황한 설명이 있겠지만
결론만 말하면 config(히카리 커넥션 풀, 메일sender에 필요한 것들 각종 xml파일의 설정)에서 설정해주던 것을 여기서 싹다 설정해줄 수 있다. 이 properties가 .xml 파일을 대신한다고 보면 된다.
server.port=80
# JSP Configuration
spring.mvc.view.prefix=/WEB-INF/
spring.mvc.view.suffix=.jsp
# Database Configuration
spring.datasource.username=oracle
spring.datasource.password=oracle
spring.datasource.driver-class-name=oracle.jdbc.OracleDriver
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe
# Mapper Configuration
mybatis.mapper-locations=mappers/**/*.xml
mybatis.type-aliases-package=com.care.boot.membership.dto, com.care.boot.board.dto
# Mail Configuration
spring.mail.host=smtp.gmail.com
spring.mail.port=587
spring.mail.username=kyes.care@gmail.com
spring.mail.password=asdasdasdasdasd
spring.mail.properties.transport.protocol=smtp
spring.mail.properties.mail.smtp.auth=true
spring.mail.properties.mail.smtp.starttls.enable=true
# File Configuration
spring.servlet.multipart.max-file-size=10MB
spring.servlet.multipart.max-request-size=20MB
스타터에선?
webapp에 WEB-INF 폴더를 만들어 하위 jsp를 갖다 놓고
src/main/resources에 mappers 폴더를 갖다 넣었고
src/main/resources하위에 adminAccount.properties라는 파일 하나를 만들어준다.
src/main/java에 패키지 파일 전부 넣었다.
3. 결론
부트캠프도 이제 마지막을 향해 달려가고 있다. 5개월이란 기간이 꽤 긴줄 알았는데
생각보다 짧은 시간이다. 다음 게시물에서는 회원관리부터 시작해서 게시판까지 달려가보고자 한다.
마지막 프로젝트를 위한 막판 스퍼트 랄까???
'3층 1구역 - 개발의 장 > Spring' 카테고리의 다른 글
spring - AWS 데이터베이스를 생성해보자(2022-11-02) (0) | 2022.11.02 |
---|---|
spring - 우분투(리눅스) OS를 이용하여 외부 서버 열어보기(2022-11-01) (0) | 2022.11.01 |
spring - mail API(2022-10-25) (0) | 2022.10.25 |
spring - Spring Security Web을 이용한 비밀번호 암호화(2022-10-24) (0) | 2022.10.25 |
Spring - 회원관리 웹페이지 구현하는 퀴즈 (2022-10-20) (0) | 2022.10.20 |