web/SpringBoot44 [REST API] @Primary / @Qualifier 블로그 파도를 타다가 흥미있는 글을 발견해서 퍼와보았다. @Bean 주입을 할때 무심코 썼던 어노테이션들을 깔끔하게 정리해주셨다. 참고 https://tech.kakaopay.com/post/martin-dev-honey-tip-2/ Spring Bean Injection 이야기(feat. 모두가 다 알고 있는 스프링빈, 정말 다 알고 있는가?) | 카카오페이 @Qualifier vs @Primary 누가 이길까? tech.kakaopay.com 윗 블로그를 보면 @Primary은 완전 깡패인걸 알수있다. (bean name 과 상관없이 걍 일괄적으로 동일 주소로 할당해버림) 결론은 @Primary 지양하고 @Qualifier을 쓰자 2023. 11. 20. [REST API] API 연동 하여 클라이언트와 통신하기 여태까지 정리해온 문서를 토대로 외부 API 에서 데이터를 가져와 DB 에 등록후, Client 에게 Body를 내려주는 간단한 미니성 프로젝트를 만들었다. ** IntelliJ 환경세팅 ** [ 개발환경 기준 ] ✔ OS : MAC Intel Ventura 13.2.1 ✔ Tool : IntelliJ IDEA ✔ JDK : OpenJDK 17 ✔ Spring Boot 3.1.5 (릴리즈) ✔ Gradle/Groovy ✔ Spring Data JPA (프레임워크) ✔ 외부 API : https://jsonplaceholder.typicode.com/todos?userId=1 Maven보단 스크립트 방식으로 가독성이 좋고 빌드캐시와 병렬빌드를 지원하는 Gradle 로 진행하기로 하였다. Spring Bo.. 2023. 11. 16. [REST API] @Autowired vs @RequiredArgsConstructor 일단 시작하기전에 스프링 공식 문서에서는 생성자를 통한 의존성(@RequiredArgsConstructor) 주입 (DI)를 권장하고 있다. Spring Team recommends: “Always use constructor based dependency injection in your beans. Always use assertions for mandatory dependencies”. (번역하자면 대충 쓰지말란 소리다) @Autowired도 예전에 나는 많이 썼었다. 일단 편하기때문이지! 하지만 final 옵션을 사용할 수 없기에, 의존성 주입하고 코드가 변질되어도 알 수가 없다. 또한 중복으로 참조가 가능하다.-> 런타임시 에러발생 아래에 예제 참조가 잘나와있다. https://madplay.gi.. 2023. 11. 16. [REST API] CustomException 처리(@StandardException) 개발하다보면 에러를 애플리케이션에 딱 맞는 Exception을 만들 필요가 생긴다. RestFul API 를 만들시 공통된 포맷으로 클라이언트에게 뿌려주고 싶은 경우! 그래서 간단하게 만들어봄 일단 내가 새롭게 만들 예외가 Checked 예외인지 Unchecked 예외인지 판단한 후에 Checked예외라면, Exception을 상속받고 Unchecked(컴파일할때 잡히지 않는) 예외라면 RuntimeException을 상속받아서 구현하자. 나는 컴파일할때 잡히지 않는 에러처리를 위해 RuntimeException 상속을 받아서 구현하였다. Lombok에서 제공하는 @StandardException 어노테이션으로 간편하게 커스텀 예외를 만들수있다. * 생성자를 만들자 상황에 따라서 다르겠지만 기본적으로 아.. 2023. 11. 16. 이전 1 ··· 3 4 5 6 7 8 9 ··· 11 다음