일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- @Aspect
- 스프링 mvc2 - 로그인 처리
- 스프링 mvc1 - 스프링 mvc
- 2024 정보처리기사 시나공 필기
- 자바의 정석 기초편 ch13
- 자바의 정석 기초편 ch6
- 자바의 정석 기초편 ch1
- 스프링 mvc1 - 서블릿
- 자바 기본편 - 다형성
- 스프링 mvc2 - 검증
- jpa 활용2 - api 개발 고급
- 자바 중급1편 - 날짜와 시간
- 스프링 mvc2 - 타임리프
- 자바의 정석 기초편 ch2
- 자바의 정석 기초편 ch14
- 자바의 정석 기초편 ch11
- 스프링 db1 - 스프링과 문제 해결
- 자바의 정석 기초편 ch5
- 스프링 입문(무료)
- 스프링 고급 - 스프링 aop
- 코드로 시작하는 자바 첫걸음
- 2024 정보처리기사 수제비 실기
- 자바 중급1편 - 예외 처리
- 자바의 정석 기초편 ch9
- 자바의 정석 기초편 ch4
- jpa - 객체지향 쿼리 언어
- 자바의 정석 기초편 ch12
- 자바의 정석 기초편 ch7
- 게시글 목록 api
- 스프링 db2 - 데이터 접근 기술
- Today
- Total
목록2024/09 (36)
나구리의 개발공부기록
출처 : 인프런 - 실전! 스프링 부트와 JPA활용1 - 웹 애플리케이션 개발(유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 1. 주문 및 주문상품 엔터티 개발1) Order - 메서드 추가(1) 생성 메서드, createOrder()주문 엔터티를 생성할 때 사용하며, 주문 회원, 배송정보, 주문상품의 정보를 받아서 실제 주문 엔터티를 생성주문 생성에 대한 복잡한 비즈니스 로직을 엔터티안에 만듦으로써 밖에서 Order를 생성하여 값을 set하는 방식이 아니라 주문 생성이 되면 createOrder를 생성에 필요한 정보 및 설정을함이렇게 생성 메서드를 만들면 생성에 관련한 변경 점이 있을 때 해당 엔터티에서 이 생성메서드만 고치면 되므로 유지 보수성이 좋아지고 코드도 호출..
출처 : 인프런 - 실전! 스프링 부트와 JPA활용1 - 웹 애플리케이션 개발(유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 1. 애플리케이션 구현 준비 - 구현 요구사항 및 애플리케이션 아키텍처1) 구현 요구 사항(1) 회원 기능가입, 조회(2) 상품 기능등록, 수정, 조회(3) 주문 기능주문, 취소주문내역 조회2) 예제를 단순화를 위한 기능 간소화로그인과 권한관리 구현 X파라미터 검증과 예외처리는 단순화상품은 도서만 사용카테고리, 배송 정보는사용 X3) 애플리케이션 아키텍처(1) 계층형 구조 사용controller, web: 웹 계층service: 비즈니스 로직, 트랜잭션 처리repository: JPA를 직접 사용하는 계층, 엔터티 매니저 사용domain: 엔터티가 ..
출처 : 인프런 - 실전! 스프링 부트와 JPA활용1 - 웹 애플리케이션 개발(유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 1. 요구사항 분석(1) 회원 기능회원 등록, 조회(2) 상품 기능상품 등록, 수정, 조회(3) 주문 기능상품 주문, 취소주문 내역 조회(4) 기타 요구사항상품은 재고 관리가 필요상품의 종류는 도서, 음반, 영화가 있음상품을 카테고리로 구분상품 주문시 배송 정보를 입력2. 도메인 모델과 테이블 설계1) 도메인 모델 분석 (1) 회원, 주문, 상품의 관계회원은 여러 상품을 주문할 수 있으므로 회원과 주문의 관계는 일대다 관계한 번 주문할 때 여러 상품을 선택할 수 있으므로 주문과 상품은 다대다 관계인데, 다대다 관계는 관계형 데이터베이스는 물론 엔터티..
출처 : 인프런 - 실전! 스프링 부트와 JPA활용1 - 웹 애플리케이션 개발(유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 1. 프로젝트 생성 (1) Project SettingGradle - GroovyJava 17JarSpring Boot3.3.4group: jpabookArtifact: jpashop(2) DependenciesSpring Data JPASpring WebThymeleafValidation - 스프링 부트 3.x.x 버전부터는 직접 추가해야함LombokB2 Database(3) build.gradleplugins { id 'java' id 'org.springframework.boot' version '3.3.4' id 'io.spring.depen..
출처 : 인프런 - 스프링 DB 2편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-21. 트랜잭션 전파 활용1 - 예제 프로젝트 시작지금 까지 배운 트랜잭션 전파에 대한 내용을 실제 예제를 통해 학습1) 비즈니스 요구 사항회원을 등록하고 조회회원에 대한 변경이력을 추적할 수 있도록 회원 데이터가 변경될 때 변경 사유에 대한 이력을 DB LOG 테이블에 남겨야함예제를 단순화 하기 위해서 회원 등록시에만 DB LOG 테이블에 남기는 것으로 진행2) MemberJPA를 통해 관리하는 회원 엔터티package hello.springtx.p..
출처 : 인프런 - 스프링 DB 2편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-21. 스프링 트랜잭션 전파1 - 커밋, 롤백1) BasicTxTest기본적으로 트랜잭션을 실행하는 예제 코드new DataSourceTransactionManager를 스프링 빈으로 등록하고 PlatformTransactionManager를 주입받으면 DataSourceTransactionManager가 주입됨(1) commit(), rollback() 메서드txManager.getTransaction(new DefaultTransactionAttr..
출처 : 인프런 - 스프링 DB 2편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-21. 트랜잭션 옵션 소개1) @Transaction - 코드, 설명 순서에 따라 약간 수정됨전체 옵션 예시public @interface Transactional { String value() default ""; String transactionManager() default ""; Class[] rollbackFor() default {}; Class[] noRollbackFor() default {}; ..
출처 : 인프런 - 스프링 DB 2편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-21. 스프링 트랜잭션 소개 및 프로젝트 생성스프링 DB1편 스프링과 문제 해결 - 트랜잭션 강의에서 배운 내용을 간략히 복습https://nagul2.tistory.com/308https://nagul2.tistory.com/3091) 스프링 트랜잭션 추상화각각의 데이터 접근 기술들은 트랜잭션을 처리하는 방식에 차이가 있었음JDBC 기술을 사용하다가 JPA 기술로 변경하게 되면 트랜잭션을 사용하는 코드도 모두 함께 변경했어야 하는데 스프링이 제공하는..
출처 : 인프런 - 스프링 DB 2편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-2** 여러가지 데이터 접근 기술을 실무에 적용할 때 고민거리나 팁에 대해서 설명하는 강의1. 스프링 데이터 JPA 예제와 트레이드 오프(1) 스프링 데이터 JPA 예제의 고민중간에서 JpaItemRepositoryV2가 어댑터 역할을 해준 덕분에 ItemService가 사용하는 ItemRepository 인터페이스를 그대로 유지할 수 있었고 ItemService의 코드를 변경하지 않을 수 있었음이런 추상화된 구조를 맞추기 위해서 중간에 어댑터가 들어..
출처 : 인프런 - 스프링 DB 2편 데이터 접근 핵심 원리 (유료) / 김영한님 유료 강의이므로 정리에 초점을 두고 코드는 일부만 인용 https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-db-21. Querydsl 소개 - 기존 방식의 문제점1) Query의 문제점아래의 코드는 문자를 합치게 되면 "select * from memberwhere name like ?and age between ? and ?" 처럼 문자가 합쳐지는 버그가 발생함 -> 과거에 버그를 정말 많이 내었던 부분임쿼리는 문자이므로 Type-check가 불가능하고 실행하기 전까지 작동 여부를 확인할 수가 없음String sql ="select * from member"..