본문 바로가기
기술/Spring-Boot

항해99 11/18(목) 스프링 TIL

by Zabee52 2021. 11. 18.

@RestController와 @Controller

RestController : request에 대한 response가 JSON으로 제공됨.

Controller : response가 다른 페이지로의 안내일수도 있고, 일반 텍스트 형식일수도 있음. 

*Controller 내의 메소드에 @ResponseBody 선언을 해주면 RestController처럼 JSON으로 데이터를 보내줄 수 있다.

 

 

현재.. 파이썬으로 작성했던 1주차 프로젝트인 유튜브 랜덤 플레이리스트의 내용을 스프링으로 이식하는 작업을 수행중이다. 그렇게 됨에 따라 새로 배우는것보단 이미 익힌 것과 친해지는 작업중이다. 프론트엔드 담당자분이 항해99 과정을 중도하차 하셔서 프론트는 약식으로 꾸미거나 할 것 같지만, 내 담당인 백엔드만큼은 만들어내고싶은것이 내 욕망이다. 현재는 템플릿 엔진인 타임리프를 보는 중인데, 아직 이해가 되지 않아 TIL에 적기엔 부족한 부분이 많다. 타임리프가 어느정도 이해가 가기 시작할때 쯤에 TIL로 적겠다.

내용은 적지만 하는 일은.. 꽤 된다.. 참 효율 떨어지네😒

 

테스트 할 때 좋은 문법
given - when - then 문법
상황 - 프로세스 - 결과
대부분의 테스트 케이스는 이렇게 구분이 된다.
초기값이 뭔지, 프로세스가 어떻게 진행이 되는지, 검증 결과가 어떤지 확인할 수 있다.

테스트 중 에러 확인하기 좋은 클래스
Assertion

 

Dependency Injection(DI, 의존성 주입)

- 인스턴스 선언을 클래스 내부에서 하는것이 아니라 외부에서 선언할 때 같이 해주는것을 말한다.

- Spring boot에서는 Spring이 직접 관리 해주는 Component 등의 객체가 의존성 주입으로 생성이 됨.

public final ExampleRepository exampleRepository;

// Dependency Injection 준비
public ExamClass(ExampleRepository exampleRepository){
	this.exampleRepository = exampleRepository;
}

...

public static void main(String[] args){
	// 여기가 주입해주는 현장
	ExamClass ec = new ExamClass(new ExampleRespository());
}

댓글