본문 바로가기

spring7

[SpringBoot] RestTemplate - 카카오 openAPI 연동하기(Translation, 번역기) 서론 - Spring Boot 기반의 RestTemplate 공부를 하며 local에 서버를 2개 띄워서 테스트 하는것 보다는, openAPI를 적용해보고 싶던 와중 kakao 에서 제공하는 Translate (번역) API 를 찾게 되었고 연동해보았다. - 예전에는 단순히 카카오 개발자 사이트에서, Test용 어플리케이션 등록 + Api Key로 사용이 가능했지만, 2023.03.13일 현재 kakao i cloud라는 시스템을 사용하는것으로 조금 바뀌어 있다. (호출 방식, key 같은것들이 다름.) 혹시나 하는 마음에 이전버전의 API 호출 방식을 적용해봤는데 정상적으로 동작이 되었다. 목적은 어디까지나 RestTemplate를 사용한 API호출 이었기 때문에, 예전방식으로 진행했다. * 시작전 유.. 2023. 3. 13.
[Spring] Spring-Container(IoC 컨테이너)에 관리되는 Bean 목록 확인 Spring Container가 관리하는 Bean 목록 확인 하기. - Spring의 Bean은 Spring-Container(IoC Container)가 관리하고 있으며, 객체 생성, 객체 주입 같은 것들을 개발자가 아닌 Container에서 수행하게 된다. - Spring IoC, DI, Container 에 관한 개념을 좀 더 알고싶다면 아래 링크에서 공부하고 와도 좋을것 같다. https://lucas-owner.tistory.com/39 [Spring] Spring-Container, IoC, DI, Singleton 개념 정리 목차 IoC 란? Spring Container (스프링 컨테이너) DI(Dependency Injection) 란? Singleton 패턴이란? IoC 란? IoC 란.. 2023. 2. 8.
[Spring] Spring-Container, IoC, DI, Singleton 개념 정리 목차 IoC 란? Spring Container (스프링 컨테이너) DI(Dependency Injection) 란? Singleton 패턴이란? IoC 란? IoC 란 Inversion Of Control의 약자이며, 제어의 역전 이라고 한다. 프로그래머와 프레임워크의 주체가 바뀌었다고 표현한다. 일반적인 경우라면 '개발자'가 미리 정한 순서에 따라 생성, 실행을 주도, 의도 했다면(개발자가 제어권을 가졌다.) IoC 가 등장한 이후는 객체의 생성, 생명주기, 관리까지 모든 객체에 대한 주도권을 프레임워크가 가진것이다.(프레임워크가 관리) IoC 를 통해 Application을 구성하는 객체 간의 낮은 결합도를 유지할 수 있다. IoC 의 역할을 담당하는것이 Spring Container 이다. (Sp.. 2023. 2. 8.
[SpringBoot] Swagger API 문서 자동화 간단 연동, 테스트하기 Swagger-ui 를 활용한 문서 자동화 - 개발한 Rest API 들의 목록을 확인하고 테스트 할 수있는 Swagger-UI를 Spring Boot 프로젝트에 연동(설정)하고 사용 하는 방법을 알아보자. ○ Swagger란 ? Swagger는 개발한 Rest API를 문서화 한다. 문서화된 내용을 통해 관리 & API 호출을 통한 테스트를 가능케 한다. API Test 할때 많이 사용되는 PostMan과 비슷하다. ▶ Swagger 라이브러리의 종류 2가지 Swagger는 2가지 종류의 라이브러리가 존재한다. Spring-fox, Spring-Doc 2가지가 존재하며 해당 글에서는 Spring-fox를 연동해본다. Spring-Fox 오래전에 나온 라이브러리 이다. 2020년 이후로 업데이트가 없다... 2023. 1. 18.
[Java] LomBok이란? & 어노테이션 정리 (1) Java 라이브러리 Lombok이란? + 자주 사용 어노테이션 정리! ○ LomBok 이란? LomBok이란 어노테이션 기반으로 코드 자동완성 기능을 제공하는 라이브러리이다. Spring, Spring Boot 로 Web 개발을 하다보면 반복되는 코드가 자주 등장하며 가독성을 떨어트린다. 예를 들어보면 Getter, Setter, ToString, Constructor(생성자)가 대표적인 예제일 것이다. - 간단 예시 예시를 간단히 설명해 보자면, 필자의 경우 Legacy 시스템(AS-IS)을 TO-BE로 개선하는 작업을 진행했었다. Legacy 코드를 처음보고 적잖이 당황했었다. 왜냐하면 DTO혹은 VO Class 의 경우 필드의 갯수가 많게는 30-50개 정도 (혹은 그이상)이었기 때문이다. 만약 이.. 2023. 1. 17.
[IntelliJ] active profile 설정 하기 (Ultimate & Community) IntelliJ (Ultimate, Community)에서 active profile 설정 하는 방법 IntelliJ IDE를 사용해서 Spring Boot 환경에서 개발하다 보면 profile 별로 실행을 해야 할 때가 존재한다. profile 별로 실행 할 때 마다, application.yml 설정을 변경하면서 하는 것은 굉장히 힘든일 일 것이다. 하지만, 실행 환경을 설정을 저장 해놓고 원하는 profile 별로 실행을 한다면 굉장히 편하지 않겠는가? - IntelliJ에서는 버전에 따라 active profile을 설정하는것에 대한 차이가 존재한다! - 만약 Profile 설정에 대하여 알고싶다면 아래의 링크에서 확인하고 오면 좋을것 같다! https://lucas-owner.tistory.co.. 2023. 1. 2.