Java36 [Spring Boot] Boolean 타입이 계속 호출이 안될 때(@Getter) Lombok 사용 시 boolean 필드 Getter 문제 해결하기Spring Boot 프로젝트에서 Lombok의 @Getter를 사용하면 자동으로 getter 메서드가 생성된다. 하지만 boolean 타입 필드에서는 예상과 다르게 동작할 수 있다.문제 상황@Getter@AllArgsConstructor@NoArgsConstructor@Builderpublic class MedicineCreateRequestDTO { private boolean isPrescribed;}위처럼 boolean 타입 필드에 대해 @Getter를 적용했고서비스에서requestDto.isPrescribed()작성하고 postman에서 json형식으로"isPrescribed": true,이렇게 작성하여 호출하면 isPres.. 2025. 2. 27. [Java] 생성자(Constructor) + 생성자 주입 생성자란?생성자는 객체를 생성할 때 호출되는 특수한 메서드즉, new 키워드로 객체를 만들 때 자동으로 실행되는 메서드public class Member { String name; int age; // 생성자 추가 public Member(String name, int age) { this.name = name; this.age = age; }}public class Main { public static void main(String[] args) { // 생성자를 사용하여 객체를 생성하면서 초기값 설정 Member member = new Member("홍길동", 25); System.out.pr.. 2025. 2. 7. [Spring Boot] BaseEntity 만들기 1. 순수 JPA를 이용한 BaseEntity 구현@Setter@Getter@MappedSuperclasspublic class BaseEntity{ @Column(updatable = false) private LocalDateTime createdAt; private LocalDateTime updatedAt; @PrePersist public void prePersist(){ LocalDateTime now = LocalDateTime.now(); createdAt = now; updatedAt = now; } @PreUpdate public void preUpdate() { updatedAt = LocalDateTime.now(); }}MappedSuperclassBaseEntity.. 2024. 10. 22. [Spring Boot] RequestBody vs RequestParam vs PathVariable 1. RequestBody클라이언트가 전송한 HTTP 요청의 본문(Body)을 Java 객체로 변환합니다. 일반적으로 JSON 또는 XML 데이터를 수신하는 데 사용한다.@PostMapping("/api/users")public ResponseEntity createUser(@RequestBody User user) { // user 객체를 사용하여 처리 return ResponseEntity.ok(user);}클라이언트가 전송한 JSON 데이터를 User 객체로 변환하여 메서드 매개변수로 전달한다. 이 방식은 POST, PUT, PATCH 요청에서 자주 사용한다.= 사용자가 입력한 값(데이터)2. RequestParamURL 쿼리 매개변수를 메서드 매개변수로 바인딩한다. 주로 GET요청에서 .. 2024. 10. 21. [Java] orElse vs orElseGet vs orElseThrow 1. Optinal 이란?자바에서 Null 참조시 NullPointerException을 방지해주는 클래스로 값이 존재할 수도 있고 존재하지 않을 수도 있는 경우를 처리하기 위한 용도로 사용한다.Optional의 주요 메서드 중 orElse, orElseGet, orElseThrow는 각각 값을 반환하거나 기본 값을 제공하는 데 사용한다.2. orElseOptional이 값이 존재할 경우 해당 값을 반환하고, 값이 없을 경우 지정한 기본값을 반환한다.Optional optionalValue = Optional.ofNullable(null);String value = optionalValue.orElse("기본값");System.out.println(value); // 출력: 기본값optionalValue.. 2024. 10. 21. [Java] 스트림(Stream) 1. Stream이란?Java 8에서 새로 도입된 기능으로, 컬렉션이나 배열 등의 데이터 집합을 처리하기 위한 일련의 기능을 제공한다. 이전에는 for 또는 foreach 문을 돌면서 요소 하나씩 꺼내는 방식으로, 코드도 길고 가독성도 길어서 불편함하여 이를 극복하고자 Stream이 나왔다.2. Stream 특징데이터 흐름Stream은 데이터 흐름을 나타내며, 데이터를 컬렉션이나 배열에서 가져와 연산을 수행하고 최종 결과를 생성한다.원본 데이터 변경 XStream은 원본 데이터를 변경하지 않는다. 즉, Stream 연산은 원본 컬렉션을 수정하지 않고 새로운 결과를 생성한다.중간연산과 최종연산 중간 연산: Stream에 여러 연산을 체인처럼 연결할 수 있다. 이 연산들은 지연(lazy) 방식으로 수행되.. 2024. 10. 20. 이전 1 2 3 4 ··· 6 다음