본문 바로가기

Java12

SpringBoot 요청 매핑 어노테이션 차이 완벽 정리 SpringBoot에서 클라이언트의 요청을 처리할 때,서버는 HTTP 요청 데이터 중 쿼리 파라미터, 경로 변수, 요청 본문 등을 분석하여 메서드에 매핑합니다.이때 사용하는 주요 어노테이션이 바로 @RequestParam, @PathVariable, @RequestBody입니다.이번 글에서는 이 세 가지 어노테이션의 차이를 구체적인 예시와 함께 정리해 보겠습니다.1. HTTP 요청 데이터는 어디에서 오는가?HTTP 요청은 크게 다음과 같은 방식으로 데이터를 전달합니다.Query Parameter: GET /search?keyword=javaPath Variable: GET /users/1234Request Body: POST /users와 함께 JSON 전송Spring에서는 각각의 방식에 따라 적절한 어.. 2025. 7. 30.
SpringBoot @RestController와 @Controller 차이 정리 SpringBoot를 활용한 웹 개발에서 가장 핵심적인 컴포넌트 중 하나는 Controller입니다.이때 사용하는 어노테이션으로는 @Controller와 @RestController가 있으며,초보자 입장에서는 두 어노테이션의 차이가 헷갈릴 수 있습니다.이번 글에서는 SpringBoot에서 사용하는 @Controller와 @RestController의 차이점과 사용 목적을 명확히 정리해 드립니다.1. 스프링 MVC에서 컨트롤러의 역할Spring MVC는 사용자의 요청(Request)을 받아 적절한 비즈니스 로직을 수행한 후,그 결과를 View 또는 JSON 형태로 응답(Response)하는 구조입니다.이때 Controller는 요청을 받아 처리하는 중심부로서,어노테이션을 통해 어떤 방식으로 응답을 리턴할지.. 2025. 7. 29.
자바 객체 비교 equals()와 == 차이 완전 정리 자바(Java)에서 객체를 비교할 때 많이 혼동되는 개념 중 하나가 ==와 equals()입니다.같은 값을 갖는 것처럼 보이는데도 결과가 다르게 나오는 이유는 비교 방식이 완전히 다르기 때문입니다.이번 글에서는 자바에서 equals()와 == 연산자의 차이를 명확히 비교하고, 실무에서 혼동 없이 사용할 수 있도록 예제 중심으로 정리해드리겠습니다.1. 자바에서 비교 연산이 중요한 이유비교는 조건문, 컬렉션 검색, 데이터 중복 체크 등 다양한 로직에 활용됩니다.잘못된 비교 방식은 논리 오류, 중복 데이터 허용, 예상치 못한 결과를 유발할 수 있습니다.특히 객체 지향 언어인 자바에서는 참조(reference)와 값(value)을 구분하는 것이 핵심입니다.2. == 연산자의 의미와 사용 범위==는 자바에서 두 .. 2025. 7. 16.
자바 날짜 시간 처리 기본 가이드 날짜와 시간은 거의 모든 애플리케이션에서 필요한 요소입니다.예약 시스템, 로그 기록, 만료 시간 계산 등 다양한 기능에 관여하죠.자바(Java)에서는 오래전부터 Date, Calendar 클래스를 제공했지만, 불편함과 문제점 때문에 자바 8 이후에는 java.time 패키지 기반의 새로운 API가 표준처럼 사용되고 있습니다.이번 글에서는 자바에서 날짜 및 시간을 다루는 다양한 방법과 그 차이점을 살펴보겠습니다.1. 자바에서 날짜와 시간이 중요한 이유시간 기반 이벤트 처리 (예: 알림, 스케줄러)데이터의 유효성 판단 (예: 만료일)로그 및 트랜잭션 기록글로벌 시간대 처리 (서버 vs 클라이언트 간 시간 동기화)정확하고 일관된 시간 처리는 기능의 안정성과 신뢰도에 큰 영향을 줍니다.2. Date 클래스는 왜.. 2025. 7. 14.
MyBatis list 파라미터 foreach 처리법 MyBatis를 사용하다 보면 다수의 데이터를 조건으로 조회해야 하는 상황이 자주 발생합니다.특히 여러 개의 ID나 상태값을 기준으로 조회할 때 List 파라미터를 전달하고 foreach로 처리하는 방법이 자주 활용됩니다.이 글에서는 MyBatis에서 List를 파라미터로 전달하고 foreach 태그를 이용해 SQL에 적용하는 방법을 예제 중심으로 정리해보겠습니다.1. MyBatis에서 List 파라미터가 필요한 상황다음과 같은 경우에 List 파라미터 처리가 필요합니다.여러 개의 ID로 데이터를 조회할 때상태 코드 리스트를 조건으로 줄 때대량의 사용자 또는 상품 번호 등을 조건에 활용할 때이러한 경우 반복문으로 쿼리를 생성하지 않고, MyBatis의 foreach 태그를 활용해 간결하고 안전한 SQL을.. 2025. 7. 10.
자바 데이터타입 차이 총정리 자바(Java)를 처음 공부하거나 실무에 적용할 때, int와 Integer, boolean과 Boolean의 차이로 인해 혼란을 겪는 분들이 많습니다. 이번 글에서는 자바에서의 **기본형(primitive type)**과 참조형(wrapper class) 데이터타입의 차이를 명확하게 정리해 보겠습니다. 실무에서 자주 마주치는 변수 초기화 이슈까지 함께 다뤄봅니다.기본형 vs 참조형 데이터타입자바에는 int, boolean, char 등의 기본형 데이터타입과, Integer, Boolean, Character 같은 **참조형(wrapper class)**이 존재합니다.기본형은 메모리에 값 자체가 저장되며 성능이 좋지만, 객체로 사용할 수 없습니다. 반면, 참조형은 클래스이므로 null 할당 가능, 컬렉션.. 2025. 7. 1.