Open kyupid opened 3 years ago
<스프링 기본편>
<스프링 MVC 1편>
강의명 : 스프링 MVC 1편 수강회차 : 스프링 MVC 섹션 2,3 마무리
내용
서블릿 : http와 관련하여 request, response 대부분의 기능들을 제공해주며 우리는 이를 통해 요청과 응답에 담긴 정보들을 손 쉽게 처리하고 관리할 수 있다.
HTTP 해더, 바디에 담긴 정보를 알아야 하며 HTTP에 대해 선행이 이루어진 다음에 서블릿을 공부하면 더 좋다.
HTTP 요청 방식 3가지
GET과 POST는 형식이 같은 쿼리문으로 요청 정보를 보내는 것이고, HTTP message body는 http body에 정보를 담아 보내는 것이기에 이 두 가지 정보 처리 방식은 아예 다르다.
서블릿, JSP, MVC패턴으로 구현
스프링 핵심 원리 이해2 - 객체지향 원리 적용
Introduce Variable 기능
CMD + OPT + V
: Introduce Variable 기능. 해당 문장에 자동으로 변수를 선언해준다.
Optional.ifPresent
Optional<Member> memberOptional = memberRepository.findById(id);
memberOptional.ifPresent(member -> {
if (member.isAdmin()) {
member.addAdminPermissions();
} else {
member.addDefaultPermissions();
}
});
null을 확인하던 if문 대신에 ifPresent함수를 호출하면서 그 안에 함수를 제공했다. 값이 존재하는 경우에 그 안에 있는 내용을 실행한다고 읽을 수 있으니 null을 확인하는 if문을 사용했던 첫번째 예제에 비해 코드량도 조금 줄어들고 가독성도 좋아졌다.
CMD + T
: Refactor This 기능. Extractor, Introduce Variable 등 다양한 Refactoring 방법을 사용할 수 있다.
테스트 파일 생성
CMD + SHIFT + T
: 해당 클래스의 테스트 클래스 파일을 생성한다.
given, when, then 기법 (by Martin Fowler)
The essential idea is to break down writing a scenario (or test) into three sections:
The given part describes the state of the world before you begin the behavior you’re specifying in this scenario. You can think of it as the pre-conditions to the test. The when section is that behavior that you’re specifying. Finally the then section describes the changes you expect due to the specified behavior.
assertThrow : 예외 처리가 정상적으로 발생했는지 확인한다.
assertThrows(IllegalStateException.class, () -> memberService.join(member2));
IllegalStateException e = assertThrows(IllegalStateException.class, () -> memberService.join(member2));
* DI : dependency injection. 외부에서 종속성을 넣어준다.
```java
private final MemberRepository memberRepository;
public MemberService(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
Generate - Constructor에서 쉽게 생성 할 수 있다.
스프링 핵심원리 주문할인 도메인 설계와 개발 보고 따라함 / 김영한님 강의
스프링 기본편
섹션 5 싱글톤 컨테이너 섹션 6 컴포넌트 스캔
수강완료
//
<이번 주 수강계획>