본문 바로가기

3.1 SpringBoot/SpringBoot 강의정리12

2-2 도메인 분석 설계 목차 1. 요구사항 분석 2. 도메인 모델과 테이블 설계 3. 엔티티 클래스 개발 4. 엔티티 설계시 주의점 1. 요구사항 분석 1) 실제 동작하는 화면을 먼저 확인한다. 2) 기능 목록을 추린다 3) 세부 요구사항을 정리한다 기능 목록 회원 기능 회원 등록 회원 조회 상품 기능 상품 등록 상품 수정 상품 조회 주문 기능 상품 주문 주문 내역 조회 주문 취소 기타 요구사항 상품은 재고 관리가 필요하다. 상품의 종류는 도서, 음반, 영화가 있다. 상품을 카테고리로 구분할 수 있다. 상품 주문시 배송 정보를 입력할 수 있다. 2. 도메인 모델과 테이블 설계 1)회원, 주문, 상품의 관계 회원은 여러 상품을 주문가능. 한 번 주문할 때 여러 상품을 선택할 수 있으므로 주문과 상품은 다대다(M:N)관계 하지만 .. 2023. 5. 20.
2-1 프로젝트 환경설정 목차 1. 프로젝트 생성 2. 라이브러리 살펴보기 3. View 환경 설정 4. H2 데이터베이스 설치 5. JPA와 DB 설정, 동작확인 1. 프로젝트 생성 1.스프링 부트 스타터(https://start.spring.io/) Project: Gradle - Groovy spring Boot :3.1.0 (강의는 2.7.12) 사용 기능: web, thymeleaf, jpa, h2, lombok, validation groupId: jpabook artifactId: jpashop java: 17(강의는 11 ) ※자신의 자바 버전과 동일한 버전을 선택해주세요. 압축을 풀고 intellij에서 open을 해줍니다 오픈을 하면 각종 의존관계에 의해 설치를 진행하는데요 다 설치가 끝나고 build.grad.. 2023. 5. 20.
[부록-1] 애너테이션(어노테이션)(@)정리 해당 애너테이션(@)정리는 실시간으로 추가됩니다 - 자바 대표적 애너테이션 @Override 선언된 메서드가 오버라이드가 되었음 @Deprecated 더 이상 사용되지 않음 @SuppressWarnings 컴파일 경고를 무시함 - Spring @SpringBootApplication main() 메서드의 역할을 하는 클래스에 사용하며 스프링 부트사용에 필요한 기본설정을 해줍니다. @SpringBootConfiguration 스프링 부트 관련 설정을 나타내는 @Configuration을 상속해서 만든 애너테이션 @ComponentScan 사용자가 등록한 빈을 읽고 등록하는 애너테이션. 즉, @Component애너테이션 및 @Service, @Repository, @Controller어노테이션이 부여된 Cl.. 2023. 5. 16.
1-7 AOP 목차 1. AOP가 필요한 상황 2. AOP 적용 1. AOP가 필요한 상황 모든 메소드의 호출 시간을 측정하고 싶다면? 공통 관심 사항(cross-cutting concern) vs 핵심 관심 사항(core concern) 회원 가입 시간, 회원 조회 시간을 측정하고 싶다면? MemberService 회원 조회 시간 측정 추가 package hello.hellospring.service; @Transactional public class MemberService { /** * 회원가입 */ public Long join(Member member) { long start = System.currentTimeMillis(); try { validateDuplicateMember(member); //중복 회.. 2023. 5. 14.
1-6 스프링 DB 접근 기술 목차 1. H2 데이터베이스 설치 2. 순수 Jdbc 3. 스프링 통합 테스트 4. 스프링 JdbcTemplate 5. JPA 6. 스프링 데이터 JPA 목적 - 스프링 데이터 엑세스 1. H2 데이터베이스 설치 H2 :개발이나 테스트 용도로 가볍고 편리한 DB 웹 화면 제공 주의! h2 데이터베이터 설치 버전 관련 Spring Boot (2.X.X) 1.4.200 버전을 설치해주세요. Spring Boot (3.X.X) 2.1.214 버전이상을 설치해주세요. https://www.h2database.com/html/download-archive.html 만약 이미 설치하고 실행까지 했다면 다시 설치한 이후에 ~/test.mv.db 파일을 꼭 삭제해주세요. 그렇지 않으면 다음 오류가 발생하면서 접속되지 .. 2023. 5. 14.
1-5 회원 관리 예제 - 웹 MVC 개발 목차 1. 회원 웹 기능 - 홈 화면 추가 2. 회원 웹 기능 - 등록 3. 회원 웹 기능 - 조회 1. 회원 웹 기능 - 홈 화면 추가 Homecontroller @Controller public class HomeController { @GetMapping("/") public String home() { return "home"; } } 제작후에 이제는 바로 컨트롤러에 맵핑된게 있으니까 정적.html이 안불러지고 이제는 HomeController로인해 home.html이 불러옴 참고: 컨트롤러가 정적 파일보다 우선순위가 높다. 2. 회원 웹 기능 - 등록 회원 등록 폼 개발 회원 등록 폼 컨트롤러 @Controller public class MemberController { private final.. 2023. 5. 14.
1-4 스프링 빈과 의존관계 목차 1. 컴포넌스 스캔과 자동 의존관계 설정 2. 자바 코드로 직접 스프링 빈 등록하기 1. 컴포넌스 스캔과 자동 의존관계 설정 스프링빈을 등록하고 의존관계설정하기 회원 컨트롤러가 회원서비스와 회원 리포지토리를 사용할 수 있게 의존관계를 준비하자. 회원 컨트롤러에 의존관계 추가 package hello.hellospring.controller; import hello.hellospring.service.MemberService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; @Controller public class MemberController .. 2023. 5. 14.
1-3. 회원 관리 예제 목차 1. 비지니스 요구사항 정리 2. 회원 도메인과 리포지토리 만들기 3. 회원 리포지토리 테스트 케이스 작성 4. 회원 서비스 개발 5. 회원 서비스 테스트 1. 비지니스 요구사항 정리 요구사항 데이터: 회원ID, 이름 기능: 회원 등록, 조회 아직 데이터 저장소가 선정되지 않음(가상의 시나리오) 일반적인 웹 애플리케이션 계층 구조 컨트롤러 :웹MVC의 컨트롤러 역할 서비스 : 핵심 비지니스 로직 구현 리포지토리 데이터베이스에 접근 도메인 객체를 DB에 저장하고 관리 도메인: 비지니스 도메인 객체( 예시 회원 주문 쿠폰 등등 ) 주로 데이터베이스에 저장하고 관리됨 클래스 의존관계 merberService -> (interface) MemberRepository member.getName().equal.. 2023. 5. 14.
1-2. 스프링 웹 개발 기초 목차 1. 정적 컨텐츠 2. MVC와 템플릿 엔진 3. API 1. 정적 컨텐츠 Spring Boot -정적 컨텐츠 정적 컨텐츠는 웹 페이지에서 동적으로 생성되지 않고, 미리 만들어진 HTML, CSS, JavaScript 파일 등으로 이루어진 정적인 파일들을 말합니다. 이러한 파일들은 서버에서 클라이언트에 직접 전송되며, 클라이언트 측에서는 웹 페이지를 불러올 때 이 파일들을 받아와 렌더링하게 됩니다. (서버에서 뭐하는것이 없이 웹브라우저로 바로 내려주는거 라고 이해하면 편할듯하다.) 스프링 부트에서 정적컨텐츠 요약 정적.html -> 내장 톰켓 서버 요청받음 -> 스프링에게 넘김 -> 컨테이너에서 관련 컨트롤러가 없네..? -> 그럼 resources : static/정적.html을 찾음 -> 출력 .. 2023. 5. 13.
1-1. 프로젝트 환경설정 (Spring 프로젝트 생성 , 라이브러리, View) 목차 Spring 프로젝트 생성 라이브러리 View 환경설정 View 정리 빌드하고 실행하기 1. Spring 프로젝트 생성 전 게시물에서 말한 https://start.spring.io/ 을 사용합니다 제가 사용한 설정 (강의에선 java 11버전 Spring Boot 2.x.x) Project : Gradle-Groovy Language : Java Spring boot : 3.0.6 java : 17 Dependencies :spring web,Thymeleaf (ADD DEPENDNCIES에서 spring web,Thymeleaf를 불러옵니다) 맨아래 왼쪽에 있는 GENERATE를 누르면 zip파일 형식으로 다운로드 됩니다! ZIP파일은 스프링 부트 스타터 사이트에서 만든 스프링 프로젝트입니다. .. 2023. 5. 7.
728x90