본문 바로가기
Java

Spring boot 로 Toy Project (TodoList) 개발환경 구축

by 준토리73 2021. 8. 12.

🔧 기본 환경 

- Gradle 로 Package 관리 

- FE : Apache (8888)

- BE : Spring Boot (8989)

 

1. 프로젝트 생성 

  • Spring Boot > Spring Starter Project 로 시작하기 

* dependencies 추가

- Spring Boot DevTools 로 개발에 편리한 기능 

- Lombok : annotation으로 코드 간소화 

- Mybatis Framework : DB 프레임워크 

- MySQL Driver 

- Spring Web

 

2. 테스트 API 작성 

Controller 

@Slf4j
@RestController
...
public class TodoController{
	@GetMapping 
    public List<TodoItem> getTodoList(){
    
    }
}

 1) Annotation 추가

@RestController 추가하여 

 

2) GetMapping / PostMapping 

- 여기서 add / update / delete 를 설정해서 부른다 

 

 

3. DB 설정 - application.yml / application.properties

// 코드 넣기

 

  • 설정한 port 로 url 테스트해보기 
localhost:8080/...

 

  • JSON 형태로 데이터 보내기 

(코드예제 - GetMapping ?? )

 

  • Slf4j + LogBack (로그 찍는거 ) 

- dependency 추가 

 

4. Service 생성 (의존성 주입) 

@Service
public class TodoService{
	
   
    public TodoService(TodoRepository todoRepository){  // 생성자 주입 
    	this.todoRepository = todoRepository;
    }
    public List<TodoItem> getTodoList(){
    	todoRepository.getTodoList();
    }

}

※ 필드 주입X → 생성자 주입 O

Controller에도 생성자 주입을 해준다. 

// 코드 넣기

 

※ 생성자 주입을 권장하는 이유 

- 순환 참조 방지 : A가 B를 참조하고 B가 A를 참조할 때의 문제 

 

5. MySQL 연동

- namedParameterJdbcTemplate 

TodoRepository - RowMapper  생성 

→ 나중에 아예 TodoRowMapper로 빼줌 (공통으로 사용하기 위해) 

 

- groovy 사용(SQL 관리)  : groovy에 쿼리를 선언해준다. 

 

 

6. 데이터 조회

- Service에서 Repository 이용해서 데이터 조회하기 

- Controller에서 Service 호출하기 

 

 

 

'Java' 카테고리의 다른 글

[Spring] STS 4 설치하기  (0) 2022.04.02
GetMapping, PostMapping  (0) 2021.08.13
[Spring] selectKey  (0) 2021.07.01
[Spring] 자바빈 Javabean  (0) 2021.06.29
[Spring] REST API  (0) 2021.06.29

댓글