목록Framework/Spring (9)
Kim ByeungHyun

JPAQueryFactory는 Java Persistence API (JPA)를 사용하여 데이터베이스에서 쿼리를 실행하기 위한 유틸리티 클래스입니다. JPA는 자바 애플리케이션과 관계형 데이터베이스 간의 객체-관계 매핑을 제공하는 기술입니다. JPAQueryFactory는 JPA 쿼리를 작성하고 실행하기 위한 도구로 사용됩니다. JPAQueryFactory를 사용하면 JPA의 쿼리 기능을 더욱 간편하고 효율적으로 사용할 수 있습니다 [우아콘2020] 수십억 건에서 Querydsl 사용하기 **영상을 보고 정리한 내용입니다** https://youtu.be/zMAX7g6rO_Y cross join 회피 cross join은 성능이 좋지 않기 때문에 지양하는 것이 좋다. 실제로 조인을 하지 않아도 조건절에 ..

싱글톤 패턴? 멀티스레드 환경? 동시성을 신경써야한다. @Component Bean 등록방법 DI , 의존성 주입 각각의 객체를 연결을 해주는방법 3가지 방법 - 필드주입 - 생성자 주입 > 추천 - Setter 주입 생성자는 딱 한번 호출되기 떄문에 불변성을 지키며 설계 가능 @Autowired >> 보통 이거 많이 사용. 범위가 넓어서 - Type으로 DI 를 지원하며 연결이 안되면 Name을 찾음 @Ingect @Resource @Autowired의 작은 에러 Bean이 두개일 때 강제주입 @Qualifier("") @Primary
Product 생성자 public Product(ProductRequestDto requestDto, Long userId) { if (userId == null || userId

AOP Aspect-Oriented Programming 용어 - Target : 어떤 대상에 부가 기능을 부여 할 것인가 - Adive : 어떤 부가 기능? Before, AfterReturning, AfterThrowing, After, Around - Join point : 어디에 적용할 것인가? 메서드,필드,객체,생성자 등 - Point cut : 실제 advice가 적용될 지점, Spring AOP에서는 advice가 적용될 메서드 선정 aop사용 시간은 컨트롤러와 가장 가까운곳 api사용시간 측정방법 스크래치파일 사용 System.currentTimeMills(); Long타입으로 반환 03. Top5 회원 찾기 설계 및 구현 Optional : NULL값이 들어갈수도 있는 경우를 지원해줌. ..

ORM - 백앤드 개발자가 로직 개발에 집중할 수있게 해줌 JPA 사용 %%유튜브 참고해보자 -영속성 컨텍트? - Entity의 생명주기 - save() 분기처리 - 1차캐쉬 - 쓰기지연 - deleteAll() - flush - 변경감지 (Dirty Checking) Youtube : https://www.youtube.com/watch?v=kJexMyaeHDs&t=925s 이거보니 이해에 도움이 되는듯하다 04. 영속성 컨텍스트 1차 캐시 이해 1차 캐시 사용 장점 - db 조회 횟수를 줄임 - 객체 동일성 보장 Entity 삭제 Entity 업데이트 방법 1,2 05. DB의 연관관계 이해 연관테이블 만들기 User, Food ==> Order / 주로 id(유일한값)값으로한다 포함관계 1:1 / ..
Controller @PostMapping("/member") public Member creatMember(@RequestBody MemberInfoResponseDto memberInfoResponseDto) { Member member = new Member(memberInfoResponseDto); return memberRepository.save(member); } 1) ARC를 이용해서 데이터를 전달합니다. 2) 전달된 데이터는 memberInfoResponseDto에 들어갑니다. @RequestBody를 이용하여 전부다. 3) memberInfoResponseDto에 들어있는 정보(데이터)를 member에 넘겨줍니다. *Member 3-1) 3번에 껍데기만 넘겨주고, 실질적인 내용물은 Me..
테스트 케이스 작성 크기를 비교하는 구문 어썰트 Assertions.assertEquals(member, result); // 같다면 : true Assertions.assertThat(member).isEqualTo(result); -Assertions 을 스태틱임포트해서 생략 가능함 같은 이름 찾기 Member result = repository.findByName("spring1").get(); # 꿀팁기능 Shift + F6 - 변수이름 한꺼번에 바꾸기 Ctrl + Alt + V - 리턴값 잡아주기 영한T가 좋아함 Ctril + Shft + T - 테스트 만들기 단축기 ALT + INSERT - Generate @Service component 스캔이라고도 함 들어가면 포함되어있음. ㅠㅠ 스프링 ..

Lombok 검색창에 "Annotation Processors" 입력 후, 우측 "Enable ~" 체크하고 OK 클릭 @Getter : get 메소드 생성 @Setter : set 메소드 생성 @AllArgsConstructor : 전체 멤버변수를 파라미터로 가지는 생성자 생성 @NoArgsConstructor : 기본 생성자 생성 @RequiredArgsConstructor : 를 활용해서 생성자 주입 final이 붙거나 @NotNull이 붙은 필드의 생성자를 자동 생성해주는 롬복 어노테이션 @Transactional : '거래' 란 뜻, 데이터 추가,갱신,삭제 등으로 이루어진 작업을 처리하던 중 오류가 발생했을 때 모든 작업들을 원상태로 되돌릴 수 있다. @EnableJpaAuditing : 생성일..