일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- 스프링 이메일 전송
- Git
- jar빌드
- Servlet
- 페이징 정렬
- 비밀번호 재설정 API
- swap 메모리
- 서버 배포
- 저장소 복제
- 두수의 합 자바
- JPQL
- springboot
- 자바
- 스프링부트 OpenAI API
- github 복제
- 우분투
- JPA
- HttpServletResponse
- JDBC
- 프로그래머스
- api 개발
- 저장소 이전
- MVC
- 넘파이
- Chat GPT
- git 충돌 해결
- 값 타입
- MySQL
- 파이썬
- Json 객체
- Today
- Total
현의 개발 블로그
프로젝트 생성하기 본문
프로젝트 생성하기
아래 사이트에서 새로운 스프링 프로젝트를 생성한다
이 프로젝트에 사용될 빌드 툴을 Gradle-Java로 골랐다.
스프링 부트 버전은 2.7.10으로 했다. SNAPSHOT은 개발 중이라 안정화되지 않은 버전이다.
다음으로 의존성(Dependencies)을 추가해 준다.
의존성이란 프로젝트에서 사용하는 라이브러리나 프레임워크를 말한다.
*라이브러리: 프로그래밍할 때 미리 만들어져 있는 기능을 import해서 사용하는 것
*프레임워크: 미리 만들어져 있는 구조에 코드를 끼워 넣는 것
generate 버튼을 누르면 압축 파일이 생성된다.
build.gradle 살펴보기
build.gradle은 프로젝트를 빌드하고, 의존성을 관리하기 위해 작성된 파일이다.
plugins {
id 'java'
id 'org.springframework.boot' version '2.7.10'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}
group = 'com.group'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
repositories {
mavenCentral()
}
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
runtimeOnly 'com.h2database:h2'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
하나씩 살펴보자
plugins {
id 'java'
id 'org.springframework.boot' version '2.7.10'
id 'io.spring.dependency-management' version '1.0.15.RELEASE'
}
java 플러그인
- Java 프로젝트를 개발하는데 필요한 기능 추가해 줌
org.springframework.boot 플러그인
- 스프링 빌드했을 때 실행 가능한 jar 파일이 나오게 해줌
- 다른 플러그인들이 잘 적용될 수 있게 해줌
io.spring.dependency-management 플러그인
- 외부 라이브러리나 프레임워크 버전을 관리하는데 도움을 줌
group = 'com.group'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'
version은 프로젝트 버전을 의미한다. jar파일 빌드 시 library-app-0.01-SNAPSHOT.jar로 나온다.
sourceCompatibility는 프로젝트가 사용할 JDK 버전을 말한다.
repositories {
mavenCentral()
}
외부 라이브러리나 프레임워크를 가져온 장소를 설정하는 부분이다.
해당 코드는 mavenCentral() 에서 라이브러리를 다운로드하도록 했다.
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
implementation 'org.springframework.boot:spring-boot-starter-web'
runtimeOnly 'com.h2database:h2'
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
사용하는 라이브러리/프레임워크를 명시했다
ex) org.springframework.boot가 만든 spring-boot-starter-test를 가져와라
implementation은 해당 의존성을 항상 사용한다는 의미이고, runtimeOnly는 코드를 실행할 때만 사용한다는 의미이다.
testImplementation은 테스트 코드를 컴파일하거나 실행시킬 때 사용한다.
tasks.named('test') {
useJUnitPlatform()
}
테스트를 수행할 때 Junit5를 사용하겠다.
Junit5는 테스트 프레임워크로, 테스트 코드를 작성할 때 사용한다.
서버 실행 부분 살펴보기
@SpringBootApplication
public class LibraryAppApplication {
public static void main(String[] args) {
SpringApplication.run(LibraryAppApplication.class, args);
}
}
@SpringBootApplication은 스프링을 실행 시키기 위해 필요한 설정들을 자동으로 해준다.
main 메서드 안에서 서버가 실행된다.
이제 다음 글에서 API 개발을 연습해보자
API 개발 연습하기
GET API 개발하기 API 명세서 HTTP Method GET HTTP Path /add 쿼리 int number1 / int number API 반환 결과 두 숫자의 덧셈 결과 @RequestParam 사용하여 값을 전달받기 @RestController public class CalculatorController { @GetMapping(
hyun-keepdeving.tistory.com
참고
자바와 스프링 부트로 생애 최초 서버 만들기, 누구나 쉽게 개발부터 배포까지! [서버 개발 올인
Java와 Spring Boot, JPA, MySQL, AWS를 이용해 서버를 개발하고 배포합니다. 웹 애플리케이션을 개발하며 서버 개발에 필요한 배경지식과 이론, 다양한 기술들을 모두 학습할 뿐 아니라, 다양한 옵션들
www.inflearn.com
'스프링부트 실습 > 도서관리 웹 개발' 카테고리의 다른 글
JDBC를 활용해 API 개발하기3 - 역할 분리 (0) | 2023.04.15 |
---|---|
JDBC 활용해 API 개발하기2 - CRUD 개발 (0) | 2023.04.15 |
JDBC 활용해 API 개발하기 - SQL 문법 및 MYSQL 연결하기 (0) | 2023.04.15 |
DB없이 유저 API 개발하기 (0) | 2023.04.14 |
API 개발 연습하기 (0) | 2023.04.14 |