framework 53

스프링 핵심 원리 이해 2 - 객체 지향 원리 적용

흐름 java로만 이용해서 스프링의 container가 작동하는 원리를 보여준다. 이후 실제 SpringContainer의 작동방식을 보여준다. 1. 문제점 DIP, OCP 위반 DIP : 인터페이스에만 의존해야하는데 구현체에도 의존을 했었다. OCP : 기능을 확장하게 되면 clientCode에 영향을 준다. 2. 관심사의 분리 역할과 실제배역은 분리되어야 한다. 역할 = 인터페이스, 실제배역 = 구현체 이를 확실히 구분해주기 위해선 역할에 맞는 구현체를 선정해주는 설정(=기획자)이 필요 예시 연극에서 로미오 역할을 하는 디카프리오가 줄리엣 역할을 하는 여주인공을 직접 선정하는 것과 같다. - 여주인공 선정하는 기획자 필요 memberService의 역할을 하는 memberServiceImpl 가 me..

framework/spring 2023.04.08

스프링 핵심 원리 이해 1 - 예제 만들기(회원)

1. 비즈니스 요구사항과 설계 2. 설계 - 회원 도메인 2가지의 도메인이 존재 회원 주문 우선 회원 도메인 먼저 설계 회원 가입 목록 -> 회원서비스(가입, 조회) -> 회원저장소(메모리저장소, DB저장소, 외부 시스템 연동 회원 저장소) Member service repository 2.1. 회원 도메인 개발 1. 회원 등급 public enum Grade { BASIC, VIP } 2. 회원 public class Member { private Long id; private String name; private Grade grade; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String..

framework/spring 2023.04.08

스프링 mvc2 - 9. 파일 업로드

1. 파일 업로드 소개 form 전송 방식 2가지 application/x-www-form-urlencoded multipart/form-data application/x-www-form-urlencoded 가장 기본적인 방법 Form tag에 별도의 enctype 옵션이 없는 경우 web browser 역할 content-type: application/x-www-form-urlencoded를 추가 form에 입력한 전송할 항목을 HTTP Body에 문자로 & 로 구분해서 전송 multipart/form-data file 업로드시 application/x-www-form-urlencoded의 방식의 문제점 binary 데이터 전송이 필요한데 문자 전송 방식이기 때문에 부적합 실제로 파일만 전송하는 경우..

framework/spring 2023.04.05