본문 바로가기

Project/Spring

SpringBoot(Gradle)

Spring Boot 특징

어플리케이션마다 톰캣 서버가 내장되어 있음

-> 폴더 경로가 어플리케이션마다 다르므로 경로 조심

-> upload 경로는 절대 경로로 가지고 있어야 함

-> context root 가 없음 -> 루트에 / 달아야 함

 

탐색기에서 내 workspace에 프로젝트 폴더를 넣은 후

프로젝트 import할 때 gradle project로 가져와야함.

 

프로젝트 설정

서버 내장이므로 서버와 서버폴더 삭제

spring starter project로 새로 생성

필요한 것 선택 후 생성(반드시 사용할 것만 추가)

 

lombok -> getter setter 자동 추가

(lombok.jar 다운로드 후 C:\ldy\sts-bundle\sts-3.9.18.RELEASE(STS.ini가 있는 곳) 여기에 설치해줘야 한다

spring boot DevTools -> 서버 껐다가 킬 필요 없음

 

build.gradle 버전 수정 후 gradle > refresh gradle project

 

프로젝트 구조

src/main/java에 패키지 이미 만들어져 있음

src/main/resources 도 이미 만들어져 있음

main 밑에 webapp 폴더 직접 만들어야 함

 

build.gradle

(Maven의 pom.xml과 비슷)

프로젝트 버전 수정 및 dependencies 추가

jstl, jasper -> spring boot에서 jsp 사용하기 위해 추가

 

application.properties

(Maven의 servlet-context.xml과 비슷)

설정과 관련된 코드 작성, 포트 설정

작성하면 알아서 internal View Resolver에 자동으로 넣어줌

application.properties 와 application.yml 두가지 방식이 있음 -> 편한 걸로 사용

-> 아래 코드는 application.properties 방식

 

classpath는 src/main/java 또는 src/main/resources 의미

logging.level.hibernate.type.descriptor.sql=trace는 console에서 실제 sql문 볼 수 있고, 오류를 찾기 쉬워진다.

 

Controller

@GetMapping

@PostMapping

 

@ResponseBody

View대신 data를 내려보내준다.

@RequestBody

json 형태를 dto 클래스(java 객체) 형태로 바꿔준다.

 

Dto

@Getter, @Setter, @ToString

자동으로 해당 메소드 만들어줌

@Data

getter, setter, toString 합침

@NoArgsConstructor

멤버변수 하나도 없는 생성자 알아서 만들어줌

@AllArgsConstructor

멤버변수 다 있는 생성자 알아서 만들어줌

 

@Builder

원하는 멤버변수만 초기화해서 생성자로 생성시킬 수 있다.(원하는 값만 넣은 생성자 사용가능)

src/test/java에 있는 ApplicationTests.java에서 builder()를 통해 생성하고 해당 파일 또는 함수만 Run as > jUnit Test로 테스트 해볼 수 있다.

 

초록색 바가 다 돌아가면 테스트가 잘 된 것이다.

 

Dao

@Mapper

implements 안 만들어도 매칭시켜줌

덕분에 interface에서 원래 객체 생성이 불가능하지만, 객체 생성하는 @Repository 사용 가능해짐

단, 함수 이름 반드시 같아야 하고, mapper.xml에 해당 dao 명시해야함

@Param

함수 이름은 같으나 파라미터 이름이 다르면 @Param으로 명시해줄 수 있다

아래와 같이 namespace로 반드시 설정해줘야 한다

 

Service

@RequiredArgsConstructor

service에서 dao 생성할 때 @Autowired 대신에 final 변수로 만들어 생성자에서 생성되도록 한 후 @RequiredArgsConstructor를 사용해서 자동으로 생성자에서 생성되게 한다

-> Controller에서도 사용

 

 

PostMan

벡엔드 테스트 프로그램

프론트엔드가 아직 나오지 않았거나 없는 경우 사용

'Project > Spring' 카테고리의 다른 글

Spring Security 로그인  (1) 2024.10.25
JPA Query DSL  (3) 2024.10.22
JPA Database  (6) 2024.10.16
Mini Project을 Spring Frame Work로 변경하기  (1) 2024.10.10
Spring Frame Work(Maven)  (2) 2024.10.04