스프링 부트를 기반으로 스프링 프로젝트를 만들면 보다 간편한 프로젝트 생성이 가능하다.
위 사이트가 바로 스프링부트 기반, 스프링 프로젝트를 만들어주는 사이트이다.
접속하면
아래와 같은 화면을 볼 수 있다.
Project
- maven project
- gradle project
maven 과 gradle은 필요한 라이브러리를 땡겨오고 빌드하는 라이프사이클까지 관리하는 툴
maven 은 과거에 많이 사용했지만 요즘은 gradle로 넘어오는 추세, 스프링 라이브러리 관리 자체도 gradle
Spring Boot
- snapshot -> 만들고 있는 버전
- M1-> 정식 릴리즈된 버전이 아님
Project Metadata
- group에 기업 도메인 명을 주로 적음 이 강의에서는 상관없으므로 hello
- artifact 빌드되어 나오는 결과물 hello-spring으로
- discription과 package name은 건드리지 않는다.
Dependencies
스프링 부트 기반으로 프로젝트를 진행하면서 어떤 라이브러리를 사용할지 선택
- spring web
- tymeleaf => html을 만들어주는 template engine
다 설정한 후, generate 클릭해 다운받고 받은 파일 작업 폴더로 옮기고 압축 풀기
인텔리제이의 open -> 폴더 찾아 build.gradle 열기 -> 프로젝트로 열기
프로젝트 구조는 아래와 같다.
.idea: 인텔리제이가 사용하는 설정파일
gradle: gradle관련되어 사용하는 폴더
src: main과 test로 나눠져있음 (거의 표준화)
main 아래에 java와 resources있으며, java아래 실제 패키지와 소스파일이 있다.
resources에는 실제 java 코드파일을 제외한 나머지 모두, xml이나 properties등 설정파일, html등이 들어있음
test에는 테스트코드와 관련된 소스들이 들어있다., 테스트코드 요즘 개발 트렌드에서 중요
build.gradle: 스프링 부트가 나오면서 제공되는 설정 파일, 버전설정 및 라이브러리 당겨오기
plugins {
id 'java'
id 'org.springframework.boot' version '2.7.6'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}
group = 'hello'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11' //자바 11버전
repositories {
mavenCentral() //아래의 dependencies에 있는 라이브러리를 다운로드받는 공개된 사이트에서 받아오도록 설정
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf' //html만드는 데 사용하는 템플릿 엔진
implementation 'org.springframework.boot:spring-boot-starter-web'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
gitignore: 깃에서의 소스코드 관리 위함
**프로젝트를 여는 중에 문제가 발생
No matching variant of org.springframework.boot:spring-boot-gradle-plugin:3.0.0 was found. The consumer was configured to find a runtime of a library compatible with Java 11, packaged as a jar, and its dependencies declared externally, as well as attribute 'org.gradle.plugin.api-version' with value '7.6' but:
이런 오류가 발생했고,
jecenter인증서가 2022.11.25일 만료되어서 문제가 발생했다고 한다.
build.gradle 파일에서 springboot 의 버전을 2.7.6으로 바꿔주면 해결
인텔리제이 우측 오른쪽에 리로드 버튼이 뜨던데 리로드 하는 방법을 모르겠어서
이것저것 만져보다가 그냥 springboot 압축파일부터 2.7.6으로 다시 다운받았다.
reload계속 찾다가 결국 발견해서 build.gradle 실행완료..
위 처럼 외부에서 라이브러리를 정상적으로 다운받았다.
src 아래 main의 main메소드 실행하고 localhost8080 들어가서 whitelabel error page 뜨면 환경설정 성공
main 메소드 실행->SpringApplication.run안에 HelloSpringApplication.class 넣어주면
@SpringBootApplication에 의해 내장되어있는 tomcat을 띄우며 springboot가 올라옴
@SpringBootApplication
public class HelloSpringApplication {
public static void main(String[] args) {
SpringApplication.run(HelloSpringApplication.class, args);
}
}
**번외
인텔리제이 사용시 빌드가 java직접이 아닌 gradle을 거쳐 실행되는 경우가 있음
preferences들어가서 gradle검색, build and run using과 run tests using을 IntelliJ IDEA로 변경
(perferences가 없어서 setting들어갔더니 같은 메뉴, 근데 build and run using과 run tests using 옵션이 따로 없어서 변경하지 않았다.
바꾸지 않으면 gradle을 통하기 때문에 좀 느리다.
'Spring' 카테고리의 다른 글
[스프링 입문] 스프링 웹 개발 기초 (1) | 2022.12.26 |
---|---|
[스프링 입문] 빌드하고 실행하기 (영한쌤 윈도우도.. 알려주세요..) (1) | 2022.12.26 |
[스프링 입문] View 환경설정 (0) | 2022.12.26 |
[스프링 입문] 라이브러리 살펴보기 (0) | 2022.12.25 |
[스프링 입문] 스프링 환경 설정 1 (자바버전변경, 인텔리제이 설치) (0) | 2022.12.22 |