일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- git reset
- WHEREIN
- Java
- mybatis
- Spring
- JavaScript
- 부적합한열
- git
- JDBC
- passwordencoder
- ResultType
- BCryptPasswordEncoder
- springboot
- SQL
- oracle
- Thymeleaf
- git revase
- 배열
- localStorage
- HTML
- react
- Variabla
- git amend
- assertequals
- useContext
- CRUD
- PathVariable
- content-box
- MVC
- 이딴게개발자
- Today
- Total
개발새발
[SpringBoot] 1. eclipse로 maven 프로젝트 만들어보기 본문
솔직히 말하자면 진짜 하나도 모르겠어요
이걸 왜 쓰는지 이유도 그렇고, 돌아가는 방법고 그렇고...
하지만 코딩은 한 줄이라도 더 쳐보는 놈이 잘 하게 되어있다는 그 한 마디만 믿고
일단은 몰라도 그냥 시작해보기로 했습니다.
그래요 이렇게 방대한 정보를 제가 어떻게 다 이해하고 글을 쓰겠어요 진짜 욕심이죠.
욕심 수준도 아니고 말도 안되는 어떤.. 자만이랄까. 근데 이제 현실파악 하고 머리를 얻어맞은.
아무튼 잘 쓰겠다는 생각 버리겠습니다.
아무것도 모르는 사람이 블로그를 쓰면 이렇게 된다의 정석을 보여주려고 하거든요.
ㅎㅋ 레지고
네 일단 제가~ 프로젝트 생성을 위해 한 것은 딱 두 가지입니다.
왜인지는 물어보지 마세요. 진짜 모르니까요
<전제 조건>
1. IDE 설치 완료 (저는 이클립스 최신판 깔았습니다.)
2. 워크스페이스용 폴더 미리 생성 (저는 springboot-workspace)
3. jdk 17 설치...인데
생각해보니까 제가 jdk17을 사용하고 있었던가요?
확인해보겠습니다
정정하겠습니다.
jdk17도 다운 받아줄게요.
그리고 다운 받아서 머..
고급 시스템 설정 보기 > 환경변수 설정 > jdk11
있는 부분 편집 눌러서 아까 다운받은 jdk17로 변경 후 저장해주심 완료입니다.
그래서 이 짓을 왜 하느냐?
스프링부트가 jdk11로 돌리면 깨진대요. 이게 제가 아는 이유의 전부입니다.
아무도 안 물어봤지만 더 이상 묻기 금지.
자 이제 진짜 들어가볼게요
1. STS4 설치
줄임말 정말 좋아하는 우리의 선배님들..
이게 뭐냐하면 Spring Tools Suite로, Spring 개발을 위한 개발도구래요.
이게 없으면 Spring 개발을 못하겠죠? 지금 최신판이 STS4 라니까 설치해줍시다.
Spring | Tools
spring.io
보니까 보통 여기 들어가서 설치하는 것 같은데...
이거 이클립스 내에 eclipse marketplace 가면 또 있더라구요. 저는 그래서 거기서 했습니다 호호 뭔가 더 편한 느낌
Eclipse Marketplace 들어가서 검색창에 'spring'이라고만 쳐도 이렇게 나옵니다.
STS4가 최신이니까 저거로 받아주세요. 저는 이미 설치된 상태라 installed로 떠있네요.
아마 설치 누르면 한 두 번인가? 팝업창 나오면서 무슨 선택지를 주는데, 싹 다 select all로 고르고 넘기면 됩니다.
2. 프로젝트 생성
드디어 프로젝트를 하나 만들러 가봅시다. 여기에도 방법이 두 개가 있는데..
처음 만드는거니까 https://start.spring.io/ 여기 한번 놀러가봅시당 ㅎㅎ
저는 maven 프로젝트 만들거라 저렇게 체크해줬어요.
참고로 Spring Boot 저거는 뒤에 아무 글자도 붙지 않은 녀석이 가장 안정된 최신판이라고 합니다. (SNAPSHOT이 실험판같은 느낌) 들어가면 알아서 저게 선택되어있긴해요 ㅎ
얘네같은 경우는 이제
- Name : 프로젝트 폴더명
- Packaging : 프로젝트 패키징 타입 (스프링부트는 jar 권장한다고 해요)
- Java : 아까 설치한 jdk17
- Group : 잘 모르겠지만 패키지 네이밍 룰을 따른다고 함..
- Arifact : 프로젝트명 (빌드시 파일명이 됨)
- Description : 프로젝트 설
- Package name : 초기 소스들이 생성될 패키지명
Java 버전이나, Project 타입, Packaging 외에는 그냥 자기가 원하는대로 지정해도 무방합니다..
저는 첨 만드는 프로젝트니까 SpringBoot-Start라고 지어봤습니당
저거 Spring Web 하나 검색해서 추가하고 밑에 GENERATE 눌러봅시다
그럼 다운로드 폴더에 저렇게 내가 지정한 Name의 압축파일이 하나 생길텐데, 미리 만들어둔 워크스페이스 폴더에 압축을 풀어주면 끝
그리고 이클립스 들어가서~
아까 만들어둔 프로젝트 폴더 import 합시다
스프링부트에는 내장서버(톰캣)가 있어서 따로 뭘 설정해줄 필요는 없습니다.
그럼 이 프로젝트 서버가 잘 돌아가는지 먼저 확인 Run As > Spring Boot App
무슨 오류인지 생각을 해봤는데 suitable driver class가 없다하니..
아, 아까 dependency 추가할 때 슬쩍 oracle driver를 끼워넣은게 잘못인가보네요.
말 안하고 은근슬쩍 추가했다가 바로 걸려버리기~ 암튼 application.properties가서 코드를 작성해줍시다.
(오류 안뜨면 그냥 넘기기 ㅎㅋ)
참고로 application.properties는 프로젝트 전반에 필요한 환경 설정 값을 기본적으로 적는 파일 정도로 생각하면 될듯 합니다.
재실행을 해봤더니
오류 안납니다 이제. 내부 서버가 잘 돌아가나봐요~
그럼 이제 진짜 마지막으로 테스트용 페이지 하나를 만들어볼까요
첫 프로젝트 국룰 Hello World 띄워봐야죠
이유는 묻지 마시고.. 일단 테스트 화면 출력용이니까 그냥 만들어봅시다
새로운 패키지 하나 파서 자바 클래스 만들어줍시다.
저는 helloController.java루다가~
어노테이션 필수.. 그리고 @RequestMapping에 달아준 놈.. 이름 똑같은 놈으로 hello.html 파일도 만들어볼게요
resource/templates 폴더에 파일 하나 만들어주세요
그러고 프로젝트 실행 후, 아무 브라우저나 들어가서
localhost:8080/hello를 입력하면
와아 스프링 부트가 무사히 잘 돌아갑니다^^
오늘은 여기서 끝!!!
와아.. 거짓말 안 치고 이렇게 뭘 배우면서 막막한 적은 처음인 것같습니다.
이 이걸 왜 하는거지 라는 의문이 머릿속을 떠나지 않아요 절대로.
그동안은 뭘 배워도 그냥 이런게 있거니~ 하고 넘기는게 됐는데... 스프링은..
그래서 다소 불안한 마음에 이것저것 찾아보고, 주변 개발직 친구들에게도 물어보니
원래 스프링 자체가 개념이 너무 방대해서 막막한게 맞대요.
그래서 또 여느때와 마찬가지로
그래.. 또 뭐든 따라치다보면 어떻게든 익숙해지겠지.... 하는 마음으로
첫 블로그 글을 작성해보았습니다
그런데 또 신기한게, 글은 처음이지만
프로젝트는 두 번째 만드는거라고, 이게 뭔지는 아직도 모르겠는데도 손이 막 알아서 움직이대요?
이게 프로그래밍의 매력(?)이 아닌가싶어요 그래서
원리를 몰라도, 여러번 치고 익숙해지면 최소한 오류가 나지 않게 하는 법 정도는 몸에 익는다는 말이 진짜인 것같아요.
그니까 뭐 또 열심히 해봐야죠.. 어차피 이해 못할거, 외워서라도 써야죠.
그럼 익숙해지긴 할거아녜요 호호
암튼 주저리주저리 아웅 역시 새벽블로그가 최고야
굿밤~
'Spring > Spring Boot' 카테고리의 다른 글
[SpringBoot] 4. JPA를 활용한 DB 연결(feat.@RestController) - 이미 존재하는 데이터를 가져오기 (1) | 2023.12.04 |
---|---|
[SpringBoot] 3. 게시판으로 CRUD 기능 구현 - (2) (1) | 2023.11.29 |
[SpringBoot] 3. 게시판으로 CRUD 기능 구현 - (1) (1) | 2023.11.28 |
[SpringBoot] 2. 스프링부트 프로젝트로 oracle DB 연결하기 (3) | 2023.11.27 |