일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- SW봉사
- 회고
- 문제풀이
- 데이터베이스
- softeer
- 코틀린
- 백준
- 프로그래머스
- 시나공
- kotlin
- python
- 스프링
- 정보처리산업기사
- programmers
- 공부일지
- 알고리즘
- BFS
- 백준 알고리즘
- 자바
- java
- CJ UNIT
- 코딩교육봉사
- 1과목
- MYSQL
- 파이썬
- 소프티어
- SQL
- 백준알고리즘
- C++
- 코딩봉사
- Today
- Total
목록개발/Spring, SpringBoot, JPA, Webflux (34)
JIE0025
✅ ERD 원래있던 ERD에 테이블을 추가했다 ✅ DTO Long id Long parentId String name Long categoryDepth ✅ Entity Long id String name Long categoryDepth Category parent ManyToOne //연관관계 주인 self join이 필요하다. List children OneToMany ( parent와 mapping해준다. ) 부모가 삭제되면, 함께 삭제되는 Cascade옵션을 준다. ✅ Service createCategory updateCategory getCategories 해당 카테고리를 기준으로 자식데이터도 가져와야한다 deleteCategory ✅ Request URI //CREATE POST http:l..
개인적으로 공부하면서 정리한 내용입니다 : ) FLAG Project - BE Study 2022.12.08 dependency 의존관계란 무엇인가? “A가 B를 의존한다.”는 표현은 어떤 의미일까? 추상적인 표현이지만, 토비의 스프링에서는 다음과 같이 정의한다. 의존대상 B가 변하면, 그것이 A에 영향을 미친다. - 이일민, 토비의 스프링 3.1, 에이콘(2012), p113 즉, B의 기능이 추가 또는 변경되거나 형식이 바뀌면 그 영향이 A에 미친다. ⏺ IoC(Inversioin of Control) / DI(Dependency Injection) IoC (제어의 역전)과 DI(의존성 주입) 예시 파인트는 3개의 아이스크림을 담는다. 만약 파인트가 [ 바닐라, 초콜릿, 체리쥬빌레 ]로 정해져있으면 ..
개인적으로 공부하면서 정리한 내용입니다 : ) FLAG Project - BE Study 2022.11.10 Annotation Annotation Spring Annotation 주요 Annotation Spring boot Annotation Spring MVC Annotation JPA Annotation JUnit Annotation ✅ Annotation ⏺ 어노테이션 용도 - 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보 제공 - SW개발 툴이 빌드/배치시 코드를 자동 생성할 수 있도록 정보 제공 - 런타임시 특정 기능을 실행하도록 정보 제공 스프링 주요 어노테이션 ✅ 스프링 MVC Annotation ⬛️ Config @Configuration 스프링 설정 정보로 인식 어노테이션 기반 ..
개인적으로 공부하면서 정리한 내용입니다 : ) FLAG Project - BE Study 2022.11.10 스프링 빈(bean) 스프링 빈 (bean) 스프링 컨테이너 (container) 빈을 컨테이너에 등록하는 방법 컴포넌트 스캔 (@component) 스프링 빈 직접 등록 ✅ 스프링 빈 (bean) 빈(bean) : 스프링 컨테이너가 관리하는 자바객체 스프링의 특징 중 이 있는데, 객체의 생성과 제어권을 사용자가 아닌 스프링에게 맡기는 것을 의미한다. 지금까지 사용자가 new 연산으로 객체를 생성하고 메서드를 호출했는데 IoC가 적용되면 객체의 생성과 제어권을 스프링에게 넘겨준다. 사용자는 직접 new를 이용해 생성된 객체를 사용하지 않고, 스프링에 의해 관리당하는 자바 객체를 사용하게 되는데 이..
개인적으로 공부하면서 정리한 내용입니다 : ) FLAG Project - BE Study 2022.11.10 QueryDSL 왜 QueryDSL을 사용할까? SQL, JPQL의 문제점 JPA Criteria 문제의 해결 : QueryDSL QueryDSL의 장점 동적쿼리 vs 정적쿼리 JPQL vs QueryDSL Q-type class 기본문법 검색조건 쿼리 AND 조건 (파라미터로 처리) 나중에 추가 예정 (결과 조회, 정렬, 페이징, 집합, 기본 조인, 서브쿼리) 구현 예제 ✅ QueryDSL? JPQL의 작성을 도와주는 오픈소스 라이브러리 정적 타입을 이용해서 SQL과 같은 쿼리를 생성 할 수 있게 해주는 프레임워크 쿼리를 자바코드로 작성할 수 있게 도와주는 기술 (개 복잡한 쿼리를 만들기 위한 ..
자바 ORM 표준 JPA 프로그래밍 김영한 영속성 관리 목차 엔티티 매니저 & 엔티티 매니저 팩토리 영속성 컨텍스트 엔티티의 생명주기 영속성 컨텍스트의 특징 CRUD) 플러시 준영속 ✅ 엔티티 매니저 & 엔티티 매니저 팩토리 ⏺ 엔티티 매니저 ( Entity Manager ) 엔티티와 관련된 모든 일 (엔티티 CRUD) 을 처리하는 관리자 엔티티를 저장하는 가상의 데이터베이스라고 생각하면 됨 - 여러 스레드가 동시 접근하면 동시성 문제 발생 (스레드간 절대 공유 금지) ⏺ 엔티티 매니저 팩토리 ( Entity Manager Factory ) 엔티티 매니저를 만드는 공장 - 비용이 상당히 있음 🔼🔼 - 한개만 만들어 Application 전체에서 공유하도록 설계 됨 - 엔티티 매니저 팩토리가 엔티티 매니저..
JPQL ( Java Persistence Query Language ) - 엔티티 객체를 조회하는 객체지향 쿼리 - JPA Query를 작성하는 방법을 제공한다. - Table column명 사용 대신, 엔티티이름, 속성을 사용함. - ANSI 표준 SQL이 제공하는 기능을 유사하게 지원한다 - 엔티티 객체를 대상으로 쿼리한다. - 엔티티 직접조회, 묵시적 조인, 다형성지원으로 SQL보다 간결하다. JPQL 맛보기 DB username age id team jieun 24 jieun11 a jin 22 jin12 a kim 25 kin123 b @Column : JPA에서 DB Table의 Column을 Mapping 할 때 @Column Annotation을 사용함 @Entity(name="Membe..
엔티티 - DB에서 영속적으로 저장된 데이터를 자바 객체로 매핑해 '인스턴스 형태'로 존재하는 데이터를 말함. - 테이블에 대응하는 하나의 클래스 - 엔티티로 만들고 싶은 클래스에 @Entity 어노테이션을 붙혀주면 된다. 만약 Database에 다음과 같은 테이블이 있다고 가정하자 Table username password jieun 1234 jin 1111 spring-boot-starter-data-jpa 의존성을 추가하고 자바 클래스에 @Entity 어노테이션을 붙히면 테이블 - 자바 클래스가 매핑이 된다. @Entity public class Account{ String username; String password; } 즉 JPA에서 하나의 엔티티 타입을 생성한다는 것은 하나의 클래스를 작성한..
스프링 시큐리티 (Spring Security) 스프링 기반 애플리케이션의 보안 - (인증, 인가)를 제공하는, 스프링 하위 프레임워크 인증 : 누구? 인가 : 뭘 할 수 있는가? 권한 : 스프링 시큐리티에서는 서블릿 필터(filter)와 이들로 구성된 필터 체인으로 구성된 위임 모델 사용 보안 관련 체계적인 옵션을 제공해주어, 개발자 입장에서 보안 관련 로직을 작성하지 않아도 되는 것이 장점! 특징 - Servlet API 통합 - Spring web MVC와의 선택적 통합 - 인증, 인가(권한 부여)에 대해 포괄적이고, 확장 가능한 지원 - session fixation(세션 고정 공격) clickjacking(클릭재킹) csrf(cross site request forgery 사이트간 요청 위조) ..
JUnit ? 자바 개발자 93% 가 가장 많이 사용하는 단위 테스트 프레임워크 스프링 부트 2.2ver 이상부터 기본 제공 JUnit5 ? JUnit5는 자바 개발자가 가장 많이 사용하는 테스팅 기반 프레임워크로, 자바 8 이상부터 사용가능하다. JUnit5 = JUnit platform + JUnit Jupiter + JUnit Vintage 3가지가 결합한 형태 테스트 작성자를 위한 API, 모듈과 테스트 실행을 위한 API의 분리 ex ) JUnit Jupiter : 테스트 코드 작성에 필요한 junit-jupiter-api 모듈 테스트 실행을 위한 junit-jupiter-engine 모듈 JUnit platform 테스트 실행 런처(Junit으로 작성한 테스트코드를 실행해주는 런처) 와 Tes..