728x90 반응형 Spring45 [Open Feign] Feign을 이용한 간단한 예제 Open Feign Netflix에서 처음 만들어진 선언적인(어노테이션 이용) HTTP Client Binder interface를 작성하고, annotaion을 선언한다. 마이크로 서비스 간에 통신 방법 중 하나로 많이 사용된다. 마이크로 서비스의 단점 API 호출 증가 -> 분산 시스템에서 API 호출부분을 계속 만들어줘야한다. Feign의 장점 인터페이스 작성을 통해 재사용성을 높인다. 목표 - Provider 서버로 api 제공 - Client 서버로 feign을 이용해 api 호출 Provider 서버 일반적으로 사용되고 있는 간단한 API 서버 작성 의존성 추가 dependencies{ implementation 'org.springframework.boot:spring-boot-starter.. 2023. 3. 6. [Mock과 Mocktio] @Mock @MockBean Mockito Document : https://javadoc.io/doc/org.mockito/mockito-core/latest/org/mockito/Mockito.html 참고 코드 : https://github.com/journaldev/journaldev/tree/master/Mockito-Examples Mock이란? 가짜 객체라고 불리며, 행위를 검증하기 위해 사용되는 객체입니다. 가짜 객체를 만드는 이유 실제 객체를 만드는데 드는 시간을 절약하기 위해서 의존성의 연결고리가 많이 연결된 경우, 구현의 복잡함을 피하기 위해서 Spring Boot Test에서 Mock 사용(테스트 더블) 테스트 더블이란? 테스트를 진행하기 어려운 경우 테스트를 대신 진행할 수 있게 만드는 객체를 말합니다. Mo.. 2022. 12. 15. [Spring boot 3.0.0 이상] build.gradle 설정 현상 Spring boot 3.0.0으로 업데이트 되면서 javax에서 jakarta로 넘어가는 패키지들이 문제를 발생한다. 예를들면, QueryDsl을 위한 설정 파일인 경우 JPAQueryFactory에 entityManager를 넣을 경우 에러가 발생한다. @Configuration public class QueryDslConfig { @PersistenceContext private EntityManager entityManager; @Bean public JPAQueryFactory jpaQueryFactory(){ return new JPAQueryFactory(entityManager); } } JPAQueryFactory의 EntityManager의 의존성 폴더는 javax.persiste.. 2022. 12. 13. Query DSL 시작하기 참고 Querydsl 기본문법 학습하기 Querydsl 다이나믹 쿼리 사용하기JPA와 비교 JPA 비교해 JPA의 장점 가독성이 좋다. JPA에서 기본적으로 제공하는 기능을 넘어서는 기능은 일반적으로 native query 옵션으로 수행한다. -> 문자열을 이어붙이는 형태이므로 오타로 인해 런타임 시 오류가 발생할 가능성이 높다. 컴파일 시점에서 에러를 체크할 수 있다. IDE의 자동 완성 기능이 지원된다. 동적쿼리를 지원한다. 단점 추가적인 학습이 필요하다. ex) member.age.gt(10)은 age > 10을 의미한다. native query문이 아니므로, RDBMS나 MySQL에서 쿼리문을 실행하기 위해서는 다시 쿼리문을 작성해야 한다. 주의 사항 jpa에서 사용되는 Entity 등의 어노테이.. 2022. 12. 12. 이전 1 2 3 4 5 ··· 12 다음 LIST