Resilience4jFeign Java Record 문제
·
Spring
Resilience4jFeign 을 사용해 Content-Type 이 x-www-form-urlencoded 인 API 를 호출할 때 요청 객체를 Record 로 선언하면 발생하는 문제입니다. 결제 시스템을 구현하던 중에 발생한 이슈입니다. 새 결제 시스템 프로젝트 구성은 아래와 같습니다. Java 17 Spring boot 2.7.9 resilience4j-feign 2.0.2 feign-(core,okhttp,jackson,slf4j) 12.2 feign-form 3.8.0 위와 같은 환경을 구성해 카카오페이 결제준비 API 를 호출할 때 발생한 이슈에 대해서 기록해 놓으려고 합니다. 회사 프로젝트를 올릴 순 없어 해당 이슈 기록을 위한 작은 프로젝트를 하나 만들었습니다. 아래 코드는 이슈를 설명하기..
서블릿 동작 과정
·
JAVA
서블릿 동작 과정에 대해 간단하게 알아봐요. 클라이언트가 웹 브라우저에 URL 입력을 하면 해당하는 HTTP Request를 해당하는 서버의 Servlet Container 에 보내요. Servlet Container 는 요청, 응답 객체를 생성해요. 클라이언트가 요청한 URL을 web.xml을 참조해서 분석하고 어느 서블릿에 대한 요청인지 찾아요. 서블릿이 처음 요청된 경우에는 서블릿 클래스를 메모리에서 로딩하여 객체를 생성해요. 생성된 객체는 메모리에 계속 존재하므로 이후에 동일한 요청이 왔을 때는 기존의 객체를 사용해요. init() : 객체가 생성되면서 init()이 최초에 한번 호출돼요 service() : 요청 메소드(GET,POST)에 따라 실행돼요. 여러 클라이언트가 동시에 요청을 하더라도..
객체지향 특성 - 다형성
·
OOP
객체지향 특성 중에 다형성에 대해 알아볼게요! 객체지향 4대 특성 중에 다형성에 대해 알아볼게요! 스프링 입문을 위한 자바 객체 지향의 원리와 이해- 김종민 지음 을 참고했습니다! 객체 지향의 4대 특성은 캡슐화, 상속, 추상화, 다형성 이 있어요. 캡! 상추다! 라고 외우면 잘 외워지니까 반드시 외우도록 해요. 다형성 : 사용편의성 객체지향에서 다형성은?? 오버라이딩과 오버로딩이 대표적인 예 라고 할 수 있어요. 오버라이딩 : 같은 메서드 이름, 같은 인자 목록으로 상위 클래스의 메서드를 재정의 오버로딩 : 같은 메서드 이름, 다른 인자 목록으로 다수의 메서드를 중복 정의 다형성은 코드를 보면서 이해하시는게 빠를거에요. {% codeblock %} class Animal { public String n..
객체지향 특성 - 상속
·
OOP
객체지향 특성 중에 상속에 대해 알아볼게요! 객체지향 4대 특성 중에 상속 대해 알아볼게요! 스프링 입문을 위한 자바 객체 지향의 원리와 이해- 김종민 지음 을 참고했습니다! 객체 지향의 4대 특성은 캡슐화, 상속, 추상화, 다형성 이 있어요. 캡! 상추다! 라고 외우면 잘 외워지니까 반드시 외우도록 해요. 상속 : 재사용 + 확장 객체지향의 상속에 대해 설명할 때 일반적으로 나오는 예 입니다. 계층도/조직도 라고 말을 하는데 이 그림 보다 아래의 그림이 객체지향의 상속을 더 잘 표현한 예라고 생각해요. 아래 그림은 상속 관계가 아니예요. 동물은 포유류의 부모가 아니고 고래의 부모가 포유류가 되는 것도 아니지요. 동물이라고 하는 것 중 분류를 세분화해서 포유류와 조류가 나오고 더 분류해서 고래, 박쥐가 ..
객체지향 특성 - 캡슐화
·
OOP
객체지향 특성 중에 캡슐화에 대해 알아볼게요! 객체지향 4대 특성 중에 캡슐화에 대해 알아볼게요! 스프링 입문을 위한 자바 객체 지향의 원리와 이해- 김종민 지음 을 참고했습니다! 객체 지향의 4대 특성은 캡슐화, 상속, 추상화, 다형성 이 있어요. 캡! 상추다! 라고 외우면 잘 외워지니까 반드시 외우도록 해요. 캡슐화 : 정보은닉 자바에서 정보은닉이라 하면 접근제어자(private, default, protected, public)가 생각날거에요. 접근제어자의 범위 먼저 봅시다. 접근제어자 설명 public 모두가 접근 가능 protected 상속 / 같은 패키지 내의 클래스에서 접근 가능 default 같은 패키지 내의 클래스에서 접근 가능 private 본인만 접근 가능 접근제어자를 통해 외부에서 ..
추상화
·
OOP
객체지향 4대 특성 중에 추상화 대해 알아볼게요! 스프링 입문을 위한 자바 객체 지향의 원리와 이해- 김종민 지음 을 참고했습니다! 객체 지향의 4대 특성은 캡슐화, 상속, 추상화, 다형성 이 있어요. 캡! 상추다! 라고 외우면 잘 외워지니까 반드시 외우도록 해요. 우선 4대 특성 중에 추상화를 설명하기 전에 클래스와 객체의 관계 먼저 알아봐요. 클래스와 객체 일반적으로 자바 클래스를 설명할 때 붕어빵 틀과 붕어빵으로 비유를 많이 하곤 해요. 그런데...? 클래스 객체명 = new 클래스(); 붕어빵틀 붕어빵 = new 붕어빵틀(); ??? 새로운 붕어빵틀을 만들었더니 붕어빵이 되었다라...? 뭔가 어색함이 느껴지네요. 다른 예제를 더 봐보죠. 사람은 클래스인가? 객체인가? JDragon 은 클래스인가?..