본문 바로가기

SpringBoot

(32)
ch4 03. 엔티티 매니저 팩토리와 엔티티 매니저 - 실습 [Main.java] [User.java] User 클래스에 @Entity를 붙여준다. + DB는 MySQL에 연결! 실행을 해도 DB엔 반영되지 않기 때문에 트랜잭션을 넣어준다. 트랜잭션을 추가해준 후 실행하면 SQL문장이 생성되어 실행된 것을 확인할 수 있다. 이미 테이블이 존재하면 삭제하고 새로 생성하는 drop 문장이 create전에 존재하는 것을 볼 수 있는데, 이유는 application.properties에 추가한 spring.jpa.hibernate.ddl-auto=create문장에서 create로 지정해서이다. create로 두었기 때문에 SQL문이 실행할 때마다 기존에 존재하는 데이터를 지우고 새로 생성한다. 비밀번호의 값을 변경하면 update문이 실행되면서 변경한 값이 DB에 반영되..
ch4 02. 엔티티 매니저 팩토리와 엔티티 매니저 1. EntitiyManager와 EntityManagerFactory - EntityManagerFactory : EntitiyManager를 생성. 애플리케이션에 하나 - EntityManager : Entity를 저장 관리. 사용자당 하나 IF) 여러 사람이 써야한다면 EntityManager를 하나 더 만들어서 따로 사용해야한다. (공유 불가) - 사용자는 직접 DB에 명령내리는 대신, Entity로만 작업 - 저장은 persist(), 조회는 find(), 삭제는 remove(), 변경은 Entity의 setter를 이용 우리가 직접 SQL을 작성하지 않고 메소드만 호출하면 끝난다! 2. Entity 클래스의 작성 - Entity클래스 : DB테이블의 한 행(row)을 정의한 것 - Entity..
ch4 01. JPA의 개요와 설정 1. JAP(Java Persistence API)란? - ORM(Object-Relational Mapping)을 위한 Java 표준 API - JPA 구현체 : HIBENATE, OpenJpa, EclipseLink, DataNucleus, .. - Persistence(영속성) : 애플리케이션 종류 후에도 객체(데이터)가 유지되는 것 2. ORM(Object-Relational Mapping) Framework - HIBERNATE(JPA API 구현) - 객체와 DB테이블 간의 연결을 해주는 프레임워크 - 객체 모델(object model)과 관계형 모델(relational model)의 차이를 해소 - 사람이 두 모델간의 변환을 직접 하려면 어려우니 대신 편리하게 해주는 것이 HIBERNATE ..
ch3 12. 데이터 모델링하는 방법 1. 분석 - 벤치마킹 - 주제 선정은 가능하면 일반적인 것으로 선택해야 구현이 쉬움 - 기존 사이트를 2~3곳 선정하여 가입 & 사용 - cafe24 쇼핑몰, 네이터 스토어에 쇼핑몰을 직접 만들고 운영 - 구현 범위를 결정하고, 해당 화면을 캡쳐해서 화면 정의서 작성 2. 설계 - 개념 모델링 - 주제 영역 정의 : 데이터 모델링의 대상과 범위를 정의. - 핵심 엔티티 정의 : 업무 주체, 대상, 자원, 장소에 해당하는 엔티티 추출 3. 설계 - 논리 모델링 - 엔티티 정의 : 행위, 주체, 대상, 장소(5W1H) - 관계 정의 : 관계수, 선택성, 식별자 상속(식별 관계 / 비 식별 관계) - 속성 정의 : 이름, 특성, 특징, 위치, 상태, 수량, 금액, 날짜, 시간, 사용여부 4. 설계 - 물리 ..
ch3 11. 데이터 모델링이란 1. 데이터 모델링 용어 - 모델링 : 실제 대상을 추상화하여 단순하게 표현하는 것 - 데이터 모델링 : 실제 업무에 맞게 데이터의 특성과 구조를 만드는 것 - ER 모델 : 개체(Entity)와 개체간의 관계(Relationship)로 표현하는 모델 - ERD : ER 모델을 그림(Diagram)으로 표현한 것 2. 기본 키(PK)와 참조 키(FK) - 기본 키(Primary Key) : 테이블 내의 한 행을 식별해주는 컬럼 - 참조 키(Foreign key) : 다른 테이블에서 참조하는 컬럼(다른 테이블의 PK) 3. ER모델의 구성 요소 - 엔티티(Entity) : 실존하는 개체 또는 개념(ex. 고객, 제품, 주문). 테이블 - 관계(Relationship) : 엔티티 간의 규칙과 관계를 표현. ..
ch3 10. AOP 원리와 용어 1. AOP(Aspect Oriented Programming)란? - 관점 지향 프로그래밍? 횡단 관심사? cross-cutting concerns? - 부가 기능(advice)을 동적으로 추가해주는 기술 - 메서드의 시작 또는 끝에 자동으로 (advice)를 추가 여러 모듈에 걸쳐서 공통으로 쓰이는 것. 공통 관심사를 말한다! 여러 모듈을 가로질러서 공통으로 쓰이는 Logging, Transaction, Security와 같은 기능은 모듈과 상관 없이 공통적이다. 그래서 이를 cross-cutting concerns 번역하면 횡단 관심사라고 한다. https://jyeonc.tistory.com/111 ch3 18. AOP의 개념과 용어 jyeonc.tistory.com - 전에 정리한 내용을 참고해..
ch3 09. 외부 설정 사용하기 8. 외부 설정 파일 - application.properties - 애플리케이션 속성의 기본 값을 바꿀 수 있는 설정 파일. - 16개의 분류. 약 1700개의 속성을 제공 * 부트 자동화 1) 스타터 - 의존 라이브러리 자동 관리 2) 자동 설정 - 자동 빈 등록 3) 외부 설정 파일 - 기본 설정 변경 [src/main/resources/application.properties] key = value 쌍으로 되어있다. 여러 가지 속성들이 존재하는데 이 속성 값을 바꿔주는 것이다. https://docs.spring.io/spring-boot/docs/current/reference/html/application-properties.html Common Application Properties doc..
ch3 08. @Import와 @Conditional 6. Condition과 @Conditional - 조건에 따라 빈의 등록 여부를 결정. @Bean, @Component와 같이 사용 - Condition의 matches()를 구현한 클래스를 @Conditional로 지정 class FalseCondition implements Condition { public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { return false; } } class TrueCondition implements Condition { public boolean matches(ConditionContext context, AnnotatedTypeMetadata metadata) { re..