Back-End 179

[JPA][영속성 관리] - 영속성 컨텍스트

📖본 포스팅은 '자바 표준 ORM 기술 JPA - 김영한'님의 책을 보고 작성되었습니다. 목차 1. 영속성 컨텍스트란? 2. 엔티티의 생명주기 3. 영속성 컨텍스트 특징 영속성 컨텍스트란? 엔티티를 영구 저장하는 환경으로 데이터베이스와는 다른 개념이다. 엔티티 매니저로 엔티티를 저장, 조회하게 되면 엔티티 매니저는 영속성 컨텍스트에 엔티티를 보관하고 관리한다. 정확하게 표현하면 엔티티 매니저를 사용해 회원 엔티티를 영속성 컨텍스트에 저장한다고 해야 한다. 논리적인 개념으로 눈에 보이지 않는다. 엔티티 매니저를 생성할 때 하나 만들어진다. (여러 엔티티가 같은 영속선 컨텍스트에 접근할 수도 있다) 엔티티 매니저를 통해 접근하고 관리할 수 있다. 엔티티의 생명주기 엔티티에는 4가지의 상태가 존재한다. 비영속..

[JPA][영속성 관리] - 엔티티 매니저 팩토리와 엔티티 매니저

📖본 포스팅은 '자바 표준 ORM 기술 JPA - 김영한'님의 책을 보고 작성되었습니다. 목차 1. JPA 제공 기능 2. 엔티티 매니저 팩토리 3. 엔티티 매니저 JPA 제공 기능 엔티티와 테이블을 매핑하는 설계 부분 매핑한 엔티티를 실제 사용 부분 엔티티 매니저 팩토리와 엔티티 매니저로 어떻게 사용하는지 알 수 있다. 엔티티 매니저 팩토리 데이터 베이스를 하나만 사용하는 애플리케이션은 일반적으로 엔티티 매니저 팩토리를 하나만 생성한다. 엔티티 매니저 팩토리 생성 EntityManagerFactory emf = Persistence.createEntityManagerFactory("jpabook"); 공장을 만드는 것에 비유하며 이 경우는 비용이 매우 많이 든다. 엔티티 매니저 팩토리를 생성했다면 이제..

[JPA][JPA 시작] - JPA 애플리케이션 개발 시작

📖본 포스팅은 '자바 표준 ORM 기술 JPA - 김영한'님의 책을 보고 작성되었습니다. 목차 1. JPA 애플리케이션 시작 코드 2. 엔티티 매니저 설정 3. 트랜잭션 관리 4. 비지니스 로직 JPA 애플리케이션 시작 코드 package jpabook.jpashop; import jpabook.jpashop.domain.member.Member; import javax.persistence.EntityManager; import javax.persistence.EntityManagerFactory; import javax.persistence.EntityTransaction; import javax.persistence.*; import java.util.List; public class JpaMain..

[JPA][JPA 시작] - 객체 매핑

📖본 포스팅은 '자바 표준 ORM 기술 JPA - 김영한'님의 책을 보고 작성되었습니다. 목차 1. 객체 매핑이란? 2. 매핑 정보 3.persistence.xml 설정 객체 매핑이란? SQL에서 사용할 테이블과 자바 클래스를 매핑해주어야 한다. JPA를 사용하기 위해서는 회원 테이블과 회원 클래스를 매핑해주어야 한다. 매핑 정보 매핑 정보 회원 객체(클래스) 회원 테이블 클래스와 테이블 Member MEMBER 기본 키 id ID 필드와 컬럼 username NAME 필드와 컬럼 age AGE 회원 객체(클래스) package jpabook.jpashop.domain.member; import lombok.Getter; import lombok.Setter; import javax.persistence..

[JPA][JPA 시작] - 기본 설정

📖본 포스팅은 '자바 표준 ORM 기술 JPA - 김영한'님의 책을 보고 작성되었습니다. 목차 1. 기본 설정 2. H2 설치 기본 설정 Java 11 1.8도 가능하지만 11이 버전이 더 높기에 11로 사용해도 무관하다고 한다. 라이브러리 관리 도구 Gradle version(spring) 2.7.9 dependency Spring web Lombok Thymeleaf H2 Database build.gradle plugins { id 'org.springframework.boot' version '2.7.0' id 'io.spring.dependency-management' version '1.0.11.RELEASE' id 'java' } group = 'jpabook' version = '0.0.1..

[Spring MVC2][로그인 처리] - 스프링 인터셉터(공통의 관심사 해결 방안)

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/vQHp 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 목차 1. 공통의 관심 사항 - 서블릿 필터 - 스프링 인터셉터 2. 스프링 인터셉터 3. 스프링 인터셉터 정리 4. ArgumentResolver 공통의 관심 사항 예 로그인 한 사용자만 상품 관리 페이지에 들어갈 수 있어야 한다는 요구사항이 있을 경우 개발자는..

Back-End/Spring 2022.05.20

[Spring MVC2][로그인 처리] - 서블릿 필터(공통의 관심사 해결 방안)

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/vQHp 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 목차 1. 공통의 관심 사항 - 서블릿 필터 - 스프링 인터셉터 2. 서블릿 필터 3. 서블릿 필터 정리 공통의 관심 사항 예 로그인 한 사용자만 상품 관리 페이지에 들어갈 수 있어야 한다는 요구사항이 있을 경우 개발자는 로그인 하지 않은 권한 없는 사람이 접근 ..

Back-End/Spring 2022.05.19

[Spring MVC2][로그인 처리] - 쿠키와 세션

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/vQHp 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com 목차 1. 쿠키와 세션을 사용하는 이유 2. 쿠키 3. 세션 4. 세션정보와 타이머 쿠키와 세션을 사용하는 이유 기본적으로 HTTP 프로토콜 환경은 "connectionless, stateless"한 특성을 가지기 때문에 서버는 클라이언트가 누구인지 매번 확인해야..

Back-End/Spring 2022.05.17

[Spring MVC2][로그인 처리] - 로그인 기능(로그인 서비스 로직)

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/vQHp 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com [로그인 처리와 관련한 디렉토리 배치 설명] 로그인 판단 로직(핵심) 로그인의 핵심 로직으로 로그인의 성공, 실패 여부를 확인하기 위한 부분으로 domain 디렉토리 하위에 배치해준다. 그 외에 로그인 관련 로직 컨트롤러와 로그인 관련 객체를 web 디렉토리 하위..

Back-End/Spring 2022.05.13

[Spring MVC2][로그인 처리] - 회원가입 처리

💻본 포스팅은 '스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 김영한'님의 강의를 듣고 작성되었습니다. https://inf.run/vQHp 스프링 MVC 2편 - 백엔드 웹 개발 활용 기술 - 인프런 | 강의 웹 애플리케이션 개발에 필요한 모든 웹 기술을 기초부터 이해하고, 완성할 수 있습니다. MVC 2편에서는 MVC 1편의 핵심 원리와 구조 위에 실무 웹 개발에 필요한 모든 활용 기술들을 학습할 수 있 www.inflearn.com [회원 관리 객체 생성 & 컨트롤러 생성] 본래는 회원 도메인과 회원 레포지토리는 인터페이스로 만드는 것이 좋다. [Member] package hello.login.domain.member; import lombok.Data; import javax.valida..

Back-End/Spring 2022.05.13