The method builder() is undefined for the type 오류 (해결2)
·
spring 스프링
저번에 builder() 를 쓰는데 The method builder() is undefined for the type  오류가 발생 했었다. 처음에는 롬복의 문제라고 생각해서 수동으로 설치 하였는데 더 찾다보니까 발견 한 사실이 있다.  ✅ 문제Entity 클래스에 @Builder 와 @NoArgsConstructor @AllArgsConstructor 를 함께 사용 할 수 없다는 것이다.   ✅ 왜? [@NoArgsConstructor]@NoArgsConstructor 는 매개변수가 없는 기본 생성자를 자동으로 생성하는 역할을 한다. 여기서 문제는 @NoArgsConstructor가 무분별하게 객체를 생성 할 수도 있다는 점이다. 이를 방지하고 '의미 있는 객체 생성'을 위해서 사용하는 것이 @Bui..
The method builder() is undefined for the type 오류 (해결1)
·
spring 스프링
The method builder() is undefined for the type entity  라는 오류가 생겼다. 이리저리 찾아보니 롬복을 실제로 다운로드한 후 직접 IDE와 연동시켜줘야 한다는 말이 있었다.  [롬복 다운로드 받기]아래의 홈페이지에 들어가서 상단탭의 Download를 받아 주면 lombok.jar 파일이 다운로드되어질 것이다.  Eclipse, Spring Tool Suite, (Red Hat) JBoss Developer Studio, MyEclipse projectlombok.org  [롬복 설치하기]파일을 클릭해서 실행시켜보면 아래와 같은 화면이 뜨고 기다리다가 보면 IDE 파일 경로가 나올 것이다. 만약에 없으면 직접 찾아서 넣어 줘도 된다.  성공적으로 설치되었다면 잊지 ..
왜 setter를 지양해야 하는가
·
spring 스프링
새로운 프로젝트에서 오랜만에 Lombok을 사용하게 됐다. 분명히 @Setter를 추가했는데, 이상하게도 Repository에서 setter가 없다는 오류가 발생했다. 코드를 아무리 살펴보고, 구글링까지 해봤지만 도무지 이유를 찾을 수 없었다. 그러다 "Getter/Setter를 지양하는 방향으로 코드를 작성해야 한다"는 글을 발견했다.  오... 그러면 값 변경은 어떻게 하는건데 라면서 찾아본  Setter의 문제점과 그 대안을 작성 해보려고 한다.   [Setter의 문제점]Lombok의 @Setter는 코드량을 줄이고 가독성을 높이는 유용한 기능이지만, 무분별한 사용은 객체의 안정성과 유지보수성을 저하 시킬 수 있다. 그래서 최근에는 불변객체 패턴을 선호하는 경향이 있다고 한다.   1. 객체의 불..
SpringAI 로 OpenAI 의 ChatGPT 만들기 _ 02 (스프링 코드)
·
spring 스프링
pom.xml과 application.properties 세팅을 마쳤다면 끝난 것과 다름없다.  제공 문서 확인 Spring에서 제공한 코드 예시 Spring 에서는  총 3가지의 접근 방식을 설명해 주고 있다. 나는 일단 Approch2 를 이용하여 코드를 구성 해 보았다.   Approch2 는 ChatClient 라는 인터페이스를 사용하고, 기존에는 chatClient.call 로 응답을 받던 것것이  chatClient.prompt().user.(message).call().content()  로 변경 되었다고 한다.   최종 코드 package com.example.demo.springAi;import org.springframework.ai.chat.client.ChatClient;import..
해니01_15