스프링 부트
특징
1. 내장 서버를 이용해 별도의 설정 없이 독립적인 실행이 가능한 스프링 애플리케잇ㄴ
2. 톰캣, 제티 또는 언더로우와 같은 웹 애플리케이션(WAS) 자체 내장
3. 빌드 구성을 단순화하기 위한 'Spring Boot Starter' 의존성 제공
4. XML 설정 없이 단순 자바 수준의 설정 방식 제공
5. JAR를 이용해 자바 옵션만으로 배포 가능
6. 애플리케이션의 모니터링과 관리를 위한 스프링 액추에이터 제공
개발 환경
1. 운영체제 : 윈도우
2. 통합개발환경 (IDE) : 인텔리제이
3. JDK 버전 : JDK 11
4. 스프링 부트 버젼 : 2.5.2 -> 2.7.0
5. 데이터베이스 : MySQL
6. 빌드 툴 : 메이븐
인텔리제이 다운
https://www.jetbrains.com/ko-kr/idea/
개발자 도구 > IntelliJ IDEA 선택 > 다운로드 > Community 버전으로 다운로드
c:\SpringBootWork 폴더 생성
스프링 부트 프로젝트 생성
project : maven
Language : java
Spring Boot : 2.7.10
Project : MetaData
Group : com.example
Artifact : spring-demo
name : spring-demo
Descriptio : Starter Spring Boot
Package name : com.example
packaging : jar
java : 11
Dependencies : ADD 클릭
Spring Web 선택
아래 GENERATE
GENERATE 누르면 압축파일(zip) 다운로드됨.
C에 파일 생성 SpringBootWork
SpringBootWork 에 spring-demo.zip 넣고 압축 풀기
인텔리제이 실행 > OPEN > 스프링 데모 디렉토리 선택해서 열기
기본 패키지 구조
src/main/java 패키지 아래에는 자바 소스코드를 작성
src/main/resources 디렉토리 아래에는 HTML, CSS, JS, 이미지 파일등의 정적 리소스를 저장
쇼핑몰 제작 프로젝트 : 사용할 템플릿 엔진 : thymeleaf 는 기본적으로 뷰를 src/main/resources/templates에서 찾는다.
해당 디렉토리 아래에 HTML 파일들을 작성하고 Controll Class에서 반환한 뷰와 동일한 이름의 html 파일을 찾아서 웹 브라우저에 띄워준다.
src/test/java 패키지 아래에는 테스트 코드를 작성
사용 포트 확인
netstat -ao
프로세스 죽이기
taskkill /f /PID 번호
설정 파일 (application.properties)
application-{profile}.properties
application.properties 설정하기
server.port = 80
application.name = spring demo
Hello World 출력하기
package com.example;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
@SpringBootApplication
public class SpringDemoApplication {
public static void main(String[] args)
{ SpringApplication.run(SpringDemoApplication.class, args);}
@GetMapping(value = "/")
public String HelloWorld(){
return "Hello World";
}
}
코드 입력후 디버그 클릭 >> 웹 브라우저 url 창에 http://localhost:8080를 입력하면 “Hello World”라는 문자열 출력
※ String 에서 오류가 뜰경우 JDK 지정 안해뒀기 때문에 오류가 뜰 수 있다.
해결하기 위해서는 File > Project Structure > SDK 에 JAVA 11버전 선택 > Libraries 확인후 > OK
Lombok 라이브러리
pom.xml에 추가
// pom.xml
... 생략 ...
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
</dependency>
</dependencies>
... 생략 ...
코드 입력후 > file > reload 클릭 후 > Maven에 새로고침 > 롬복이 뜸
어노테이션 자동 설정
file > Settings > Build, Execution, Deployment > Compiler > Enable annotation processing 체크
자주 사용하는 어노테이션
Lombok 라이브러리 적용하기
UserDto.java
// UserDto.java
package com.example;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
public class UserDto {
private String name;
private Integer age;
}
TestController.java
// TestController.java
package com.example;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class TestController {
@GetMapping(value = "/test")
public UserDto test() {
UserDto userDto = new UserDto();
userDto.setAge(20);
userDto.setName("hoon");
return userDto;
}
}
MySQL
IP주소
root
비밀번호
shop 데이터베이스 생성
create database shop default character set utf8 collate utf8_general_ci;
create database shop default character set utf8 collate utf8_general_ci;
show databases;
use shop;
'Spring boot & JPA' 카테고리의 다른 글
Spring Boot - 쇼핑몰 프로젝트 03 (Thymeleaf 학습하기 - 2) (0) | 2023.04.04 |
---|---|
Spring Boot - 쇼핑몰 프로젝트 03 (Thymeleaf 학습하기 - 1) (0) | 2023.04.04 |
Spring Boot - 쇼핑몰 프로젝트 02 (Spring Data JPA - 3) (0) | 2023.04.03 |
Spring Boot - 쇼핑몰 프로젝트 02 (Spring Data JPA - 2) (0) | 2023.04.03 |
Spring Boot - 쇼핑몰 프로젝트 02 (Spring Data JPA - 1) (0) | 2023.04.03 |