web

Spring 프로젝트 처음 시작하기

ㅇㅇ잉 2021. 4. 20. 17:40

 

start.spring.io/

spring에서 스프링 부트 기반 프로젝트를 만들어주는 사이트.

 

 

 

Project

Maven Project

Gradle Projeck

라이브러리를 땡겨오고, 빌드하는 life cycle까지 다 관리해주는 툴.

과거엔 1을 많이 썼지만 요즘엔 2를 더 많이 씀. spring라이브러리 관리 자체도 2로 많이 넘어옴.

 

Spring Boot

버전을 선택해야하는데,

SNAPSHOT : 아직 만들고 있는 버전.

M1 : 아직 정식 릴리즈된 버전이 아님.

정식 릴리즈된 버전중에 가장 최신꺼 선택하자

 

Project Metadata

Group : 보통 기업명

Artfact : 빌드된 결과물(프로젝트명)

 

ADD DEPENDENCIES★

스프링 부트 기반으로 프로젝트를 시작할건데, 어떤 라이브러리를 땡겨서 쓸거냐는 것.

웹프로젝트를 만들거니까 Spring Web,

HTML을 만들어주는 템플릿 엔진인 Thymeleaf쓸거다.(프리마커나 뭐 다른 여러가지가 있음)

 

그리고 GENERATE누르고 다운받자.


압축 풀고 인텔리제이에서 다운받은 압축파일을 풀고 build.gradle(프로젝트로)를 여는데

처음 열면 외부에서 라이브러리를 다운받는다.

 

.idea : 인텔리제이가 사용하는 설정파일

gradle > wrapper : gradle과 관련되어 쓰는 폴더

src > main, test : Maven이나 Gradle이나 main과 test가 나누어져있음. main>java,resources가 있는데 java밑에 실제패키지와 소스파일들이 있다. test는 test code들과 관련된 소스들이 들어감.

: test코드라는게 정말 중요하다는 의미.

resources : xml,설정파일,html등 java파일을 제외한것들이 다 들어간다고 보면 됨.

 

build.gradle★★

아까 위에서 설정했던 것들이 제공됨.

일단 gradle이 버전 설정하고 라이브러리 땡겨오는구나~정도로 이해하고 넘어가자

dependencies {
	implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
	implementation 'org.springframework.boot:spring-boot-starter-web'
	testImplementation('org.springframework.boot:spring-boot-starter-test') {
		exclude group: 'org.junit.vintage', module: 'junit-vintage-engine'
	} //테스트라이브러리가 자동으로 들어감.
}

이 라이브러리들을 어디선가 다운받아야하는데,

repositories {
	mavenCentral()
}

그 코드가 이거. mavenCentral이라는 공개된 사이트가 있는데, 거기서 받아라~하는 것. 필요하면 특정 사이트 넣으면 된다.

 

.gitignore : 소스코드 관리해주는것이다.

git에는 필요한 소스코드만 올라가고 나머지 결과물들은 올라가면 안되는데, 이런것도 start.spring.io에서 다 해줌.

 


이제 main 메소드를 실행해주면,

아래 여러가지가 뜨는데 이게 중요함.

 

2021-04-20 17:15:25.278  INFO 24536 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''

: http라는걸로 8080port가 뜬 것.

 

 

인터넷 창을 켜고 http://localhost:8080/ 에 접속해보자.

 

이러면 프로젝트 환경설정에 성공한 것!

 

main 메소드를 실행하면 SpringApplication.run해서 

package hello.hellospring;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class HelloSpringApplication {

	public static void main(String[] args) {
		SpringApplication.run(HelloSpringApplication.class, args);
	}

}

//SpringApplication.run에 HelloSpringApplication 이 클래스를 넣어주면
//@SpringBootApplication (Annotation: java코드에 @를 이용해서 주석을 달아 특별한 의미 부여한 것)
//이 실행됨.

// : 밑에 톰캣이라는 웹서버를 내장하고있는데, 
// 톰캣이라는 웹서버를 자체적으로 띄우면서 스프링부트가 같이 올라오는 것.

 

 

 

!Tip

요즘 인텔리제이쓰면 java를 직접 실행하는게 아니라 gradle을 통해 실행될때가 있는데,

아래처럼 설정해주면 된다.

그럼 gradle통하지 않고 java를 바로 실행하여 더 빨라짐