본문 바로가기

스프링4

[Spring] Jackson의 @JsonDeserialize가 항상 기본 생성자를 생성할까? Jackson jackson 라이브러리는 스프링 프레임워크가 기본적으로 제공해 주는 직렬화 및 역직렬화를 도와주는 라이브러리이다.프로젝트 개발을 진행하면서, Redis에 적재된 JSON 타입의 값을 직렬화 및 역직렬화할 필요성이 있게 되었다. 그래서 Jackson 라이브러리를 활용하여 objectMapper를 활용해서 역직렬화 과정을 수행하던 중. 논리적으로 맞지 않은 것 같은 동작을 목격했다. 다른 분들의 활용 예시를 보면서, @JsonDeserializer가 기본 생성자를 생성한다는 글을 보았다. 그러나 이것은 반은 부족한 설명이라 느끼게 되어 위 제목에 대한 고찰을 시작해 보려고 한다. @JsonDeserialize 간단하게 어노테이션에 대해서 알고만 넘어가자면 이 어노테이션은 역직렬화 시, usi.. 2024. 7. 24.
[Spring] ResultSet next()를 왜 사용할까? ResultSet 순수 JDBC를 활용하여 쿼리문을 정의한 다음, 지정된 쿼리문을 실행하게 된다면 자연스럽게 쿼리문 조건에 맞는 값이 반환될 것이라는 것은 코드를 짜보지 않아도 대략적인 그림은 머릿속에서 그려질 수 있다. 하지만 어떻게 데이터를 받는지에 대해서 명확하게 알지 못한다면, 데이터를 어떤 방식으로 처리해야 하는지에 대한 문제도 해결하기 어려울 수 있다. 그래서 순수 JDBC를 사용할 때 ResultSet을 어떻게 활용하길래 데이터를 받아올 수 있는지 그리고 next()를 사용해서 데이터 체크를 왜 하는지, 어떻게 동작하는지에 대해서 알아보려고 한다. ResultSet이란? public interface ResultSet extends Wrapper, AutoCloseable ResultSet은.. 2023. 9. 7.
[Spring] Spring MVC의 동작방식을 전체적인 관점으로 이해해보면? Spring MVC Flow 앞선 포스팅에서는 MVC가 무엇인지 각각이 어떤 역할을 하는지를 살펴보았고 조금 더 멀리서 바라봤을 때 MVC가 어떻게 동작되는지 전체적인 흐름을 정리해 볼 필요가 있을 것 같아서 작성해보려고 한다. (간단한 흐름에 대해서 정리하게 됩니다.) Spring MVC는 Model View Controller 크게 이 세가지를 기준으로 바라보게 되는데 이는 Spring이 MVC 방식으로 동작하기 때문이다. 우선 몇 가지 가정을 하고 시작을 해보면 '클라이언트 요청을 받았다는 것' 그리고 '클라이언트 요청을 처리하는 과정인 상태'를 정의하고 시작을 해보려고 한다. 클라이언트에게 요청을 받았다는 것은 어떠한 클라이언트의 요구사항이 될 수 있다. 웹 브라우저든지 혹은 앱이라든지 앞서 서버.. 2023. 8. 22.
[Spring] 스프링이 무엇이고, MVC는 무엇일까, 그리고 왜 쓸까? Spring '해당 포스트는 스프링에 대한 전반적인 흐름에 대해서 알고 싶어 작성한 글입니다. 스프링에 대해서 자세하게 알고 있거나 기초적인 지식 혹은 흐름에 대해서 알고 계신 분들에게는 도움이 크게 되지 않을 수 있습니다.' 스프링이란 무엇인지에 대해서 그리고 무엇을 위한 것인지 또 이에 필요한 지식은 무엇인지 알아보려고 한다. 우선 스프링은 위키피디아에서 아래와 같이 정의되어 있다. The Spring Framework is an application framework and inversion of control container for the Java platform. The framework's core features can be used by any Java application, but th.. 2023. 8. 21.