1. Intellij 설치
2. Java 11설치
3. 스프링 프로젝트 생성
Project
- 여기서 Maven과 Gradle은 필요한 라이브러리를 가져오고 빌드하는 라이프사이클까지 관리해주는 툴임.
과거엔 maven을 많이 썼으나 최근에는 다 gradle로 넘어오고 있다.
따라서 gradle로 하는걸로.
Spring Boot
- 버전 선택하는 부분.
여기서 SNAPSHOT은 아직 만들어지고 있는 버전이고, M1은 정식 release되지 않은 버전이다.
따라서 정식 release된 버전 중 가장 최신 버전을 사용하는 것이 좋다.
Group
- 보통 그룹의 기업 도메인명을 적어줌. 여기선 상관없음 아무거나 적어도 됨.
Artifact
- build되어 나올 때 결과물. 프로젝트명 같은 것.
Dependencies
- 어떤 라이브러리를 땡겨서 쓸 것인지.
- Spring Web : 웹 프로젝트
- Thymeleaf : HTML을 만들어주는 템플릿 엔진
다 입력 한 후 중앙 아래에 'Generate'버튼을 눌러준다.
4. 다운로드된 파일의 압축을 푼다.
5. 파일 오픈
Intellij에 File>open 한 후 압축을 푼 파일에서 build.gradle을 클릭하여 open버튼을 누른다.
6. Open as Project 버튼을 클릭한다.
7. 파일 로딩이 끝나면 intellij 화면 좌측에서 프로젝트 구조를 볼 수 있다.
.idea
- intellij가 사용하는 설정파일
gradle > wrapper
- gradle과 관련된 폴더
src > main, test
- 요즘엔 대부분 main과 test가 분리되어있음.
main 밑에 java와 resources파일이 있음. 실제 자바코드파일을 제외한 xml, properties와 같은 설정 파일과 html이 있음.
Java를 제외한 나머지 파일들은 다 resources에 있는거임.
test 파일에는 테스트 코드와 관련된 소스들이 들어가있음.
최근엔 test 코드가 정말 중요해졌음.
build.gradle
-중요함. 버전설정, 라이브러리 가져와줌.
dependencies : 3에서 선택했던 라이브러리들이 있음.
testImplementation : 기본으로 들어가는 테스트 라이브러리.
위의 라이브러리들을 mavenCentral이라는 공개된 사이트에서 다운받으라고 설정해 주는 것이 repositories{} 임.
필요하다면 url을 넣을수도 있음.
.gitignore
- 소스코드를 관리하게 해줌.
start.io에서 얘도 다 해줌.
gradlew, gradlew.bat
- gradle로 빌드하는 부분에서 할 것
settings.gradle
- 나중에 gradle을 공부하면 알게됨.
8. main 함수를 실행시켜준다.
9. 다음과 같이 콘솔창이 뜨면서 실행된다.
1 : 3에서 선택한 Spring Boot 버전
2 : Java 11버전
3 : http 8080으로 실행됐다는..
9. 브라우저에 접속하여 localhost:8080 에 들어간다.
Whitelabel Error Page가 뜨면 성공.
여기까지 하면 환경설정 성공.
main메소드를 실행하면 SpringApplication.run에 HelloSpringApplication(프로젝트 클래스)를 넣어줌. 위에 @SpringBootApplication annotation이 있는데 이러면서 spring boot application이 실행됨.
Spring boot application은 밑에 tomcat이라는 웹 서버를 내장하고 있음. 그 톰캣 웹 서버를 자체적으로 띄우면서 스프링부트가 같이 올라간다.
View 환경설정
- Controller : 웹 애플리케이션에서의 첫번째 진입점
1. Controller 생성
2. controller 패키지 하위에 'HelloController' 자바 클래스 생성
3. 아래 코드 작성
- 웹 어플리케이션에서 "/hello"라고 들어오면 아래 메소드 호출.
package hello.hellospring.controller;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HelloController {
@GetMapping("hello")
public String hello(Model model){
}
}
'Backend' 카테고리의 다른 글
김영한 스프링 입문 6. 스프링 DB 접근 기술 - 스프링 통합 테스트 (1) | 2024.06.06 |
---|---|
김영한 스프링 입문 6. 스프링 DB 접근 기술 - 순수 JDBC (0) | 2024.05.16 |
김영한 스프링 입문 6. 스프링 DB 접근 기술 - H2 데이터베이스 설치 (0) | 2024.05.16 |