우주먼지
article thumbnail
9 - 컴포넌트 스캔 & 자동 의존관계 설정
Inflearn 강의/Spring 입문 2022. 10. 6. 16:35

💡 스프링 빈과 의존관계 회원 컨트롤러가 회원서비스의 회원 레포를 사용할 수 있게 의존관계를 준비하자. 스프링은 스프링 컨테이너에 스프링빈을 등록할때 싱글톤으로 등록함(하나만 등록해서 공유함) 스프링 빈 의존관계 설정 2가지 방법 1.컴포넌트 스캔 & 자동 의존관계 설정 2. 코드로 직접 스프링 빈 등록 컴포넌트 스캔 & 자동 의존관계 설정 방법 @Component 에노테이션이 있으면 스프링 빈에 자동 등록됨 @Component를 포함하는 @Controller, @Service, @Repository도 스프링 빈에 자동 등록 됨 메인 클래스의 위치 밑에있는 패키지들은 컴포넌스 스캔을 하지만, 상위에 있는 디렉터리 등은 컴포넌트 스캔을 하지 않음 위의 동작은 컨트롤러 - 서비스 - 레포 의 정형화된 패턴임..

article thumbnail
8 - 서비스 개발 & 테스트
Inflearn 강의/Spring 입문 2022. 10. 5. 22:34

💡 서비스 개발 서비스클래스의 네이밍,및 설계는 비즈니스에 의존적으로 설계를 한다 💡 서비스 테스트 테스트 케이스 작성했던것 처럼 서비스도 잘 동작하는지 테스트를 해보자 테스트 케이스 작성

article thumbnail
7 - 회원 레포 테스트 케이스 작성
Inflearn 강의/Spring 입문 2022. 10. 5. 01:09

💡 테스트케이스 - 개발한 기능을 코드로 검증 main 메소드를 실행하거나 웹앱의 컨트롤러를 실행하도 되지만 시간이 오래걸리고 여러개의 테스트시 부적합 Junit 으로 코드작성을 통한 테스트 케이스 작성 통상적으로 Test 디렉토리에 패키지 생성후 MemberRepositoryTests 라는 형식의 이름으로 테스트 케이스 작성함 TDD = 테스트를 먼저 만들고 구현클래스를 만드는것 이번 실습은 TDD는 아님. Why? 구현을 먼저하고 테스트를 했기 때문 테스트 케이스 작성 Class 레벨에서 테스트 실행 시 하위 모든 테스트를 동시에 테스트 가능 Test 디렉토리 - hellospring - new package - MemoryMemberRepository 클래스 생성 Class레벨에서 테스트 실행 Wh..

article thumbnail
6 - 회원 관리 예제 개발
Inflearn 강의/Spring 입문 2022. 10. 1. 15:25

💡 회원 관리 예제 개발 진행순서 1. 비즈니스 요구사항 정리 2. 회원 도메인, 레포 생성 3. 회원 레포 테스트 케이스 작성 4. 회원 서비스 개발 5. 회원 서비스 테스트 비스니스 요구사항 정리 (아주 간단하게) 데이터: 회원ID, 이름 기능: 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상 시나리오) 컨트롤러: 웹 MVC의 컨트롤러 역할 서비스: 핵심 비즈니스 로직 구현 ex) 회원의 중복가입 방지 레포: 데이터베이스에 접근, 도메인 객체를 DB에 저장하고 관리 도메인: 비즈니스 도메인 객체 / ex) 회원,주문,쿠폰 등 주로 데이터베이스에 저장하고 관리됨 아직 데이터 저장소가 선정되지 않아서, 우선 인터페이스로 구현 클래스를 변경할 수 있도록 설계 데이터 저장소는 RDB,NoSQL 등..

article thumbnail
5 - API
Inflearn 강의/Spring 입문 2022. 10. 1. 14:08

💡 API 기존 문자그대로 or template 출력 방식 예시 API 동작 실습 리턴문이 객체이고, @ResponseBody를 선언하면 제이슨 형식 반환 = property 방식 getter,setter = private으로 선언된 String을 외부에서 사용하게 해줌, 강의끝나고 공부 @ResponceBody 자세한 동작 원리 HTTP의 BODY에 문자 내용을 직접 반환 viewResolver 대신 HttpMessageConverter가 동작 HttpMessageConverter의 내부에는 2가지 Converter가 존재함 기본 문자처리: StringHttpMessageConverter (단순 문자일때) 기본 객체처리: MappingJackson2HttpMessageConverter (객체 일때) b..

article thumbnail
4 - MVC, & Template Engine
Inflearn 강의/Spring 입문 2022. 9. 29. 23:27

💡 MVC (Model, View, Controller) & Template Engine View = 관심사 분리, 화면을 그리는데에 모든 리소스 집중 Model,Controller = 내부적인 처리, 비즈니스 로직과 관계됨 간단한 구현을 통한 MVC와 Template Engine의 동작과정 이해 1. 웹브라우저 -> 톰캣 hello-mvc 파라미터 요청 2. 스프링 컨테이너 -> 컨트롤러에게 전달 -> hello-mvc라는 메소드가 매핑된 컨트롤러 발견, 메소드 호출 3. 리턴문인 hello-template 과 모델= 키(name):값(spring)을 스프링에게 전달 4. 스프링 -> viewResolver에게 동작요청, Resolver가 view를 찾아주고 templates 디렉토리를 탐색 5. he..

article thumbnail
3 - Build & Excute & Static Contents
Inflearn 강의/Spring 입문 2022. 9. 29. 01:57

💡 빌드, 실행 1. 인텔리제이 터미널에서 프로젝트 디렉토리로 경로이동 후 ./gradlew.bat build 명령 실행 2. 빌드 자동 완료 후, 경로내에 build 디렉토리가 생김 3. build 디렉토리 내 libs 디렉토리에 jar 파일이 있음 (서버 배포) 4. 터미널에서 java -jar [파일명] 실행 ※ 팁 : ./gradlew.bat clean 실행 시 build 디렉토리 삭제 후 재 빌드 가능 💡 정적 컨텐츠 (Static Contents) 스프링은 기본적으로 정적 컨텐츠 기능 보유 1. resourses - static - hello-static.html (아무거나) 생성 2. 톰캣 재기동 후 localhost:9090/hello-static.html로 이동 (9090인 이유는 포트충..

검색 태그