1. 애플리케이션 실행
이제 프로젝트를 실행해 보자, 파워셀이나 CMD를 실행해 프로젝트가 있는 디렉터리 경로로 이동하자
입력 예 : cd @@ 이걸로 본인의 그래들 프로젝트가 있는 경로로 간다.. 복붙하면 편하다
그다음 graglew bootRun을 쳐준다.
그럼 삥삥삥 돌아간다.
여담이지만 씨까~~~만 배경에 흰줄 쭉쭉나오고 멋져서 리눅스 공부한다고 책샀는데 바빠서 공부못하구있다...
계쏙 실행되다보면 뜬다. 의심여지없이 허용해주자.
멋진 분구들이 나온다.
기다리다보면 켜진다.
그러나 이걸 매번 cmd나 파워셀로 해야할까?
아니다. IDE에서 돌릴수 있다.
프로그램 익스플로어의 해당 프로젝트 오른쪽으로 누르고 -> run as -> spring boot app으로 실행시켜주자
그럼 콘솔창에 쭉쭉뜬다. 오히려 이게 빠를수 있다.
이렇게 JVM어쩌구가 보이면 브라우저를 켜고 localhost:8080으로 접근해보자
위와같이 에러페이지가 뜬다면 서버가 정상적으로 동작하고 있는것이다.
여담이지만 예전 엔진엑스연결했을때 위와비슷한 에러가 나서 "어??왜 연결이 안될까"하고 밤늦게까지
원인 분석을했는데 이미 저상태가 연결이 된 모습이라 허탈하게 퇴근한 기억이난다....ㅠㅠ
그리고 이클립스IDE에
를 통해 실행이 되고있는지를 볼수있다.
2. 디펜던시 라이브러리 추가
plugins {
id 'org.springframework.boot' version '2.5.6'
id 'io.spring.dependency-management' version '1.0.11.RELEASE'
id 'java'
id 'org.springframework.experimental.aot' version '0.10.5'
id 'org.graalvm.buildtools.native' version '0.9.4'
id 'org.hibernate.orm'
}
group = 'com.unoSpringBoot'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '1.8'
configurations {
compileOnly {
extendsFrom annotationProcessor
}
}
repositories {
maven { url 'https://repo.spring.io/release' }
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
compileOnly 'org.projectlombok:lombok'
runtimeOnly 'com.h2database:h2'
annotationProcessor 'org.projectlombok:lombok'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
test {
useJUnitPlatform()
}
bootBuildImage {
builder = 'paketobuildpacks/builder:tiny'
environment = ['BP_NATIVE_IMAGE': 'true']
}
nativeBuild {
classpath processAotResources.outputs, compileAotJava.outputs
}
nativeTest {
classpath processAotTestResources.outputs, compileAotTestJava.outputs
}
hibernate {
enhance {
enableLazyInitialization = true
enableDirtyTracking = true
enableAssociationManagement = true
enableExtendedEnhancement = false
}
}
우린 이미 라이브러리를 추가했다. 앞으로 계속 등장하겠지만, 우선 구글의 구아바 라이브러리를 추가해보자.
위의 사이트에서 검색해보자. guava를 검색하면
위와같이 뜬다.
이것의 굵은 글자 메인 제목? 을 눌러주면
해당화면이 나온다.
이중 나는 버전 최신버전중 가장많은 쓰임을 받고있는 30.1.1-jre를 골랐다.
띠용?! 뭐야!! 다운로드 받는거아니였어? 할수도있지만 여기 주소를 그대로 복사해 가져가면된다. 물론 메이븐이 아니고 그래들로!
그리고 디펜던시스에 추가해주자. 개인적으로 메이븐보다 간결? 하고 알아보기 쉽다...
이제 롬복을 설치해야한다.
https://congsong.tistory.com/31
이클립스(Eclipse)에 롬복(Lombok) 설치하기
롬복은 테이블을 구조화한 도메인 클래스(Entity 또는 DTO, VO)에서 getter/setter 메서드와 toString, equals, hashCode 등의 메서드를 애너테이션으로 사용할 수 있도록 해주는 라이브러리입니다. 이외에도
congsong.tistory.com
정리를 잘해 놓으신 글이다. 참고하여 설치하자.
설치가 완료되었으면 확인해보자.
굿 컴파일 이상없다.
비록 그래들 디펜던시에 어노테이션 프로세서 라이브러리를 추가했지만 이 라이브러리는 그래들이
인식하는 라이브러리지 이클립스가 인식하는 라이브러리가 아니다.
어노테이션 프로세싱 설정을 통해 설정해주자.
프로젝트 익스플로어 -> 프로퍼티즈 -> 자바컴파일러 -> 어노테이션 프로세싱 선택후 그림처럼 진행하면된다.
그림처럼 관련 체크박스를 체크한다음 저장해주자
3. 포스트맨 API 추가
이 프로젝트에서 개발할 REST API를 테스트하는 툴인 포스트맨을 보자.
우리는 사용이 간편하고 직관적으로 GUI를 제공하는 포스트맨 프로그램을 사용한다.
https://www.postman.com/downloads/
Download Postman | Get Started for Free
Try Postman for free! Join 17 million developers who rely on Postman, the collaboration platform for API development. Create better APIs—faster.
www.postman.com
설치가 완료된다면 싸인인 하는것이있다.
무시하고 넘어가자
중앙에 +를 눌러주자 그리고 테스트를위해 그림과 같이 넣어주자
테스트를 위해 겟방식으로 www.google.com을 을 넣어주었다. 만만해서가아니고 생각나는게 구글이었다.
그렇다면 어떻게 나올까?
그럼 포스트방식은?
<!DOCTYPE html>
<html lang=en>
<meta charset=utf-8>
<meta name=viewport content="initial-scale=1, minimum-scale=1, width=device-width">
<title>Error 405 (Method Not Allowed)!!1</title>
<style>
* {
margin: 0;
padding: 0
}
html,
code {
font: 15px/22px arial, sans-serif
}
html {
background: #fff;
color: #222;
padding: 15px
}
body {
margin: 7% auto 0;
max-width: 390px;
min-height: 180px;
padding: 30px 0 15px
}
*>body {
background: url(//www.google.com/images/errors/robot.png) 100% 5px no-repeat;
padding-right: 205px
}
p {
margin: 11px 0 22px;
overflow: hidden
}
ins {
color: #777;
text-decoration: none
}
a img {
border: 0
}
@media screen and (max-width:772px) {
body {
background: none;
margin-top: 0;
max-width: none;
padding-right: 0
}
}
#logo {
background: url(//www.google.com/images/branding/googlelogo/1x/googlelogo_color_150x54dp.png) no-repeat;
margin-left: -5px
}
@media only screen and (min-resolution:192dpi) {
#logo {
background: url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat 0% 0%/100% 100%;
-moz-border-image: url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) 0
}
}
@media only screen and (-webkit-min-device-pixel-ratio:2) {
#logo {
background: url(//www.google.com/images/branding/googlelogo/2x/googlelogo_color_150x54dp.png) no-repeat;
-webkit-background-size: 100% 100%
}
}
#logo {
display: inline-block;
height: 54px;
width: 150px
}
</style>
<a href=//www.google.com/> <span id=logo aria-label=Google></span></a>
<p><b>405.</b> <ins>That’s an error.</ins>
<p>The request method <code>PUT</code> is inappropriate for the URL <code>/</code>. <ins>That’s all we know.</ins>
CSS단을 제거해도 짧게있다. 대충 이렇구나 만있으면된다. 그리고 맨밑에! 405오류가 있다.
이것은 해당 매서드가 없다는 것이다. 겟방식인데 포스트를 할때 주로 나타난다.
그럼 우리 로컬호스트!는 어떨까?
오호라..싹다 오류구만! ㅎㅎㅎ
'Spring boot 프로젝트 기록 > 1. 백엔드 개발' 카테고리의 다른 글
기본 쿼리와 쿼리 작성 방법 (0) | 2021.11.26 |
---|---|
서비스 레이어 : 비즈니스 로직 (0) | 2021.11.24 |
매개변수를 넘겨받는 방법 (0) | 2021.11.23 |
백엔드 서비스 아키텍처 (0) | 2021.11.22 |
1. 백엔드 개발 환경설정 (0) | 2021.11.17 |
댓글