Coding Note
SpringBoot Chapter1. 인테리제이 프로젝트 생성 본문
이 책을 기반으로 스프링 부트 스터디를 시작하게 되었다.
쉬운 게 없어요.... 그래도 파이팅!
1. 인테리제이 프로젝트 생성하기
New project 버튼 클릭 후 Gradle을 선택해 프로젝트를 생성한다.
다음으로 GroupId와 ArifactId를 등록한다.
ArifactId는 프로젝트 이름이 되기 때문에 원하는 이름으로 작성하면 된다.
finish 버튼을 누르면 gradle가 생성되는 걸 확인할 수 있다.
2. gralde 프로젝트를 스프링 부트 프로젝트로 변경하기
build.gradle 초기 화면은 이와 같다.
위 코드 기반으로 하나씩 코드를 추가할 예정이다.
(이후 코드 사진 프로젝트 명은 'first.SpringBoot-study'입니다. )
이에 앞서 gradle 버전을 먼저 확인해보자.
2-1. gradle 버전 확인 및 수정하기
책 속 gradle 버전과 달라 코드 작성에 애를 먹었다ㅠㅠ
먼저 gradle버전을 확인해보자
(gradle 폴더 - wrapper - gradle-wrapper.properties)
확인해보니 7.1 버전이였다.
책과 동일하게 4.10.2 버전으로 수정하였다!
alt+f12를 눌러 터미널을 열어 아래와 동일하게 입력하면 된다!
수정 결과 >
이와 같이 버전을 수정했으면 이어서 코드를 작성해볼게요!
추가한 코드 >
buildscript {
ext{
springBootVersion = '2.1.9.RELEASE'
/*
* 2.1.9.RELEASE의 값을 가진 springBootVersion 전역 변수 생성
* 즉, 스프링 부트 그레이들 플러인의 2.1.9.RELEAS를 의존성으로 받는다.
*/
}
repositories {
mavenCentral()
jcenter()
}
dependencies {
classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")
}
}
apply plugin :'java'
apply plugin :'eclipse'
apply plugin: 'org.springframework.boot'
apply plugin: 'io.spring.dependency-management'
group 'com.bs.book'
version '1.0-SNAPSHOT'
repositories {
mavenCentral()
jcenter()
}
dependencies {
/* Q. compile과 implementation 차이점 비교
compile('org.springframework.boot:spring-boot-starter-web')
testCompile('org.springframework.boot:spring-boot-starter-test')
*/
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
test {
useJUnitPlatform()
}
코드 간단히 정리하기 >
1. ext
- build.gradle에서 사용하는 전역 변수를 설정하는 키워드
2. repositories
- 각종 의존성(라이브러리)들을 어떤 원격 저장소에서 받을지를 정한다.
Q1. mavenCentral과 jcenter 차이점
mavenCentral | jcenter |
- 이전부터 많이 사용한 저장소임 - 많은 과정과 설정이 요구됨 |
- mavenCentral 문제점을 개선하여 라이브러리 업로드를 간단하게 함. - jcenter에 라이브러리를 업로드하면 mavenCentral에도 자동으로 업로드 가능함 - 요즘 자주 사용하는 추세 |
- 결론적으로 라이브러리 업로드 난이도 때문에 jcenter를 많이 사용하는 추세!!
3. 'io.spring.dependency-management'
- 스프링 부트의 의존성들을 관리해 주는 플러그인이라 꼭! 필수로! 추가해야 한다.
- 코드 'apply plugin' 부분은 자바와 스프링 부트를 사용하기 위해 항상 추가해야 된다.
4. dependencies
- 프로젝트 개발에 필요한 의존성을 선언하는 코드 부분
위 코드를 작업하면서 문득 궁금한 게 생겨 메모해두었다 구글링을 해보았다.
Q2. compile과 implementation 차이점
compile | implementation |
- 모든 프로젝트에 연결된 API가 노출됨 - 보안의 위험 있음 - 빌드 속도가 늦음 |
- 모든 프로젝트에 연결된 API가 노출되지 않음 - 보안성 좋음 - 빌드 속도가 빠름 |
더 궁금하면 링크 참고하기
3. 빌드 성공!
완료!
'SpringBoot' 카테고리의 다른 글
SpringBoot Chapter1. 인테리제이 깃 연동하기 (0) | 2022.02.27 |
---|