공식문서에 작성된 글을 바탕으로 공부하고 정리해 보았습니다.영어로 된 공식문서에 친근해지고자 HttpInterface를 설명하는 글 중 중요 문장을 작성하면 강조하였습니다.HTTP InterfaceThe Spring Framework lets you define an HTTP service as a Java interface with @HttpExchange methods.you can pass such an interface to HttpServiceProxyFactory to create a proxy which performs requests through an HTTP Client such as RestClient or WebClient.(해당 인터페이스를 HttpServiceProxyFactor..
Json 데이터를 자바 객체로 역직렬화할 때 발생할 수 있는 문제가 있습니다.1. Snake case를 Camel Case 케이스로 받으려고 할 때2. Enum type으로 역직렬화될 때 전달받은 값이 설정된 enum 값과 다른 경우 @JsonPropertyRequest JSON{ "my_name": "foobar"} Entitypublic class Student { private String myName;} DTOpublic class StudnetDTO { @JsonProperty("my_name") private String myName;}my_name → myName으로 치환해주어 값을 제대로 받습니다.@JsonProperty("value") : value로 설정한 값을 myName으로 받습니다..
STMOP란Simple Text Oriented Messaing Protocol의 약자WebSocket 위에서 동작하는 텍스트 기반 메시징 프로토콜클라이언트와 서버가 전송할 메시지 유형, 형식, 내용들을 정의하는 메커니즘기본적으로 Publish-Subscribe 구조로 되어있다.Publish-Subscribe 구조란 **메시지를 공급하는 주체와 소비하는 주체를 분리**해 제공하는 메시징 방법이다. Springboot에서 STOMPWebSocket 기반으로 각 Connection마다 WebSocketHandler를 구현하지 않고 @Controller로 된 객체를 이용해 관리할 수 있음메시지는 STOMP의 Destination 헤더를 기반으로 @Controller 객체의 @MethodMapping 메서드로 ..
Transaction이란트랜잭션은 데이터베이스의 상태를 변화시키기 위해 수행하는 작업의 단위를 의미합니다. 데이터베이스의 상태를 변화한다는 것은 insert, update, delete 같은 SQL 문을 이용해 데이터베이스에 접근하는 것을 의미합니다. ⭐️ Spring에서의 @Transcational 이란Springboot에서 @Transcational은 하나의 함수가 하나의 데이터베이스 트랜잭션의 범위 안에서 실행되어야 하는 것을 명시합니다. 해당 어노테이션을 메서드에 적용시키면, Springboot는 해당 메서드를 시작할 때 트랜잭션을 시작하고, 메서드가 성공적으로 완료되면 트랜잭션을 commit 합니다. (만약, 도중 예외가 발생하면 rollback 합니다.) 이를 통해 비정상적인 종료나 오류로 인..