프로젝트 환경설정
1. 프로젝트 생성(https://start.spring.io/ 로 들어간다.)
프로젝트 생성
-프로젝트를 만들고 라이브러리를 살펴본다.
-html 화면렌더링하기 위해 뷰와 관련된 환경설정
-H2 DATABASE를 설정하고
-JPA랑 데이터베이스 설정하고
실제로 돌아가는지 확인할 예정
프로젝트
-Gradle
*Maven에서 Gradle로 많이 넘어 가는 추세이다.
*2.2버전 이상으로 설정 할 경우에는 조금 환경이 달라질 수 있다.
Spring Boot 버전
-안정화된 2.1.7버전으로
Dependencies - 라이브러리 추가
Spring web starter
-Build web Restful App, Spring MVC, Apache Tomcat as default embedded container
Thymeleaf
-modern server side jave template engine
*서버사이드
*JSP는 요즘 사용하지 않는다. 성능이나 여러 가지 이슈들이 있기 때문.
스프링부트 내장톰캣에서도 권장하지 않는다.
Spring Data JPA (유틸리티 성 라이브러리)
-스프링 데이터 jpa 대해서 설명을 하지 않을 예정
-스프링 jpa로 어떻게 잘 어플리케이션 만드는 법을 아는 것이 중요
그래서 jpa에 대해서 개인적으로 깊이 알고 공부하는 것이 좋고, 이번에는 도움용으로 사용하는 것이 좋음
H2 DATABASE
-개발하거나 테스트할 때 유용하다.
-H2 데이터베이스 설치는 간단하다. MYSQL을 어렵다.
-메모리를 내장상태에서 실행할 수도 있다. 간단하게 교육용 장점이 있따.
Lombok
-지루하게 반복하는코드(boilerplate code)를 줄여준다라는 의미
2. Intelli J 설치
https://www.jetbrains.com/ko-kr/idea/
3. build.gradle import
4. build.gradle 알아보기
plugins{ }
안에 내용은 다음과 같다.
-springboot 2.1.13버전 설치 표기
*plugin이 라이브러리 까지 관리를 해주기 때문에 2.1.14로 변경할 경우
다른 라이브러리 버전까지 전부 업그레이드 된다.
-springboot에 필요한 dependency 필요한 라이브러리 추가 되었다는 내용
-java언어 설치 표기
sourceCompatibility ='1.8'
-자바 버전
configurations {
compileOnly {
extendsFrom annotationProcessor
}
-Lombok으로 인해 생성된 코드들. annotation processor가 핵심!
repositories {
mavenCentral()
}
-repositories mavenCentral에서 라이브러리를 다운로드 받겠다라는 의미
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
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'
}
-내가 프로젝트 생성시 선택한 dependencies 라이브러리들이 나와 있다.
5. 환경세팅 확인_1
JpashopApplication에서 generation code에 main method가 있으니 실행시켜보자.
-Tomcat started on port(s): 8080(http) with context.. 가 보인다.
제대로 시작이 되었는지 실행해보자. 지금까지 아무것도 만들지 않았으니 흰색페이지에
글자 몇개만 나와야 정상이다. 실행시켜 보니 정상세팅이 되었음을 확인!
6. 환경세팅 확인_2
테스트케이스 실행
External libraries에 라이브러리가 왜이렇게 많은가
-예를 들어 JPA 라이브러리가 있다면
JPA와 의존된 라이브러리들을 다운로드 받는 행위가 다른 라이브러리에서도 일어나기 때문에 많아지게 된 것이다.
*예전에는 웹어플리케이션 개발을 위해 세팅만 1주일이 걸렸다고 한다.
지금까지 실행하는 것들을 쉬지 않고 이행했다면 몇분도 걸리지 않았을 것 같다..
7. Lombok세팅확인 (#마주한에러해결)
-Lombok 사용하면 작성해야 할 코드양을 줄여준다.
객체를 만들때 변수선언, 기본생성자 Getter, Setter까지 메소드를 작성해줘야 하지만,
Lombok 플러그인은 생성을 한번에 해결가능하다. 사용할 변수 선언만 해주고
클래스명 위에 @Data라는 annotation을 선언해주면 끝이다.
*Lombok을 사용하기 위해서 plugin을 설치해야 한다.
Lombok 세팅확인 : 세팅확인순서
File->Setting->Plugins->lombok검색->install->restart IDE->
*Lombok설치후 꼭 해주어야 할 것
File->Setting->Plugins->Compiler->annotation processor에서 enable 클릭
Lombok 실제 동작 확인
다시한번 Lombok설정이 잘 작동되는지 코드를 실행(RUN)으로 확인
#마주한에러해결1
다음과 같은 에러 발생
Caused by: java.net.BindException: Address already in use: bind
확인해보니 톰캣 서버의 포트가 열려 있는 상태에서 코드실행하면 발생하는 에러라고 한다.
CMD창에서
netstat -ano 또는 netstat -a -n -o로 활성연결된 톰캣의 8080포트확인
taskkill /f /pid 2536 (8080포트로 활성화된 프로세스를 종료함)
이후 다시 실행해도 코드실행완료되지 않아 무슨 문제인지 보았더니
그리고 SpringApplication.run(JpashopApplication.class, args)을 삭제하지 않은 것이었다.
지웠더니 코드실행 및 출력이 에러 없이 완료 되었다.
다시 재실행 하니 data = hello가 보인다.
환경설정 추가
최근 IntelliJ 버전은 Gradle로 실행을 하는 것이 기본 설정이다.
이러한 기본설정은 실행속도가 느리기 때문에 다음과 같이 변경하기로 한다.
Setting-> Build, Execution, Deployment-> Build Tools -> Gradle
Gradle Build and run using: Gradle -> IntelliJ IDEA
Run tests using: Gradle -> IntelliJ IDEA
프로젝트생성까지 완료!!
'신입개발자로 취업하기까지 > JPA쇼핑몰기능구축' 카테고리의 다른 글
20200430 프로젝트 환경설정_JPA와 DB설정 및 동작확인_5-1 (0) | 2020.05.07 |
---|---|
20200429 프로젝트 환경설정_H2데이터베이스 엔진 설치_4 (0) | 2020.04.29 |
20200423 프로젝트 환경설정_view 환경설정_3 (0) | 2020.04.24 |
20200422 프로젝트 환경설정_라이브러리살펴보기_2 (0) | 2020.04.23 |
20200421 프로젝트 환경설정_프로젝트생성_1-1 (0) | 2020.04.22 |