728x90

JAVA 109

리팩토링: DTO를 사용한 쿼리 최적화

날짜만을 조회하는데 property 안 모든 필드를 조회하고 있어 쿼리문이 과하게 생기는 문제가 발생했다.이를 줄여보기 위해 repository 에 dto를 사용해봤다. 현재 내가 사용하는 것들만 담아 dto를 제작@Getter@NoArgsConstructor@AllArgsConstructor@Builderpublic class PropertyDateDto { private Long id; private String name; private LocalDate endDate; private LocalDate startDate;}  레포지토리 적용전: property 객체 전체를 사용하고 있다.  @Query( "SELECT p FROM Property p WHERE..

JAVA/프로젝트 2024.09.03

스프링부트 스케줄링 적용 @EnableScheduling

리뷰가 생성 될 때 마다 즉각적으로 평점 갱신했던 것을 스케줄링을 통해 매일 자정에 하는 것으로 변경 변경 전 :@Transactionalpublic ReviewResponse createReview(Long memberId, Long accommodationId, ReviewRequest reviewRequest) { Accommodation accommodation = findAccommodation(accommodationId); Member member = findMember(memberId); Reservation reservation = findReservation(reviewRequest.getReservationId()); Long productId = reser..

JAVA/프로젝트 2024.07.16

카카오맵 Rest API - 주소로 위도, 경도 반환하기

https://developers.kakao.com/docs/latest/ko/local/dev-guide#address-coord Kakao Developers카카오 API를 활용하여 다양한 어플리케이션을 개발해보세요. 카카오 로그인, 메시지 보내기, 친구 API, 인공지능 API 등을 제공합니다.developers.kakao.com yml 파일에 추가kakao: rest: api: key: ${KAKAO_REST_API_KEY} 환경변수에 키 값을 추가한다 반환하는 로직@Slf4j@Service@RequiredArgsConstructorpublic class KakaoMapService { private final RestTemplate restTemplate; privat..

JAVA/프로젝트 2024.07.13

배달 플랫폼 백엔드 : rabbitmq

RabbitMQ- 메시지를 생성하는 프로듀서(= api server), 이를 큐에 저장하는 rabbitmq, 이 메세지를 읽어 소비하는 컨슈머(=가맹점 서버)- 비동기 방식 api server 가 퍼블리셔 역할이다. api 서비스에서 사용자가 주문을 하게 되면 (이벤트 발생 메세지 생성)api 서버가 q에 바로 메세지 넣는게 아니라,rabbitmq 는 exhange라는 곳에 메세지를 넣는다 - 이 메세지를 어디로 라우팅 시킬지 결정 하는 곳이 exchange, 컨트롤러 같은 역할.exchange는 어떤 메세지인지 구분해 특정한 q에 그 메세지를 넣어준다.  가맹점 서버가 컨슈머 역할을 한다.가맹점 서버가 q에 있는 데이터를 가져오고 처리한다. 컨슈머는 데이터를 넣을 수도 있고 꺼낼 수도 있다. 양방향 가..

JAVA/프로젝트 2024.06.14

'javax.persistence.Entity', Could not resolve all files for configuration ':compileClasspath'.

> Task :compileJava FAILED 1 actionable task: 1 executed FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':compileJava'. > Could not resolve all files for configuration ':compileClasspath'. > Could not find javax.persistence:javax.persistence-api:. Required by: project :  Executing 'build'... > Task :compileJava FAILED 1 actionable task: 1 executed FAILURE: ..

JAVA/에러 2024.06.10
728x90
반응형