Spring Boot
-
[ChatGPT API] 프로젝트에 GPT API 적용하기(라이브러리 활용하기)Spring Boot 2024. 5. 30. 12:50
신규 프로젝트에 적용해야하는 채팅 API 를 도입을 해야하는데전담해서 맡기로 했다그래서 chatGPT API 를 공부를 하고 프로젝트에 적용을 시키는 과정을 기록해보겠다.(이지 버전 ...) easy..... 1. 우선 API key를 발급을 해준다. https://platform.openai.com/api-keys 위 링크로 들어가서 로그인을 하고 키를 발급하고,발급된 키는 한번 받으면 나중에 확인이 안되기 때문에 잘 저장해둔다.그리고 블로그 상에서 발급된 키는 24시간동안만 유효하다라는 글이 있던데,공식문서와 GPT한테 물어봤을때는 24시간동안만 유효하다라는 말은 없다 2. 그리고 properties 설정을 해준다 #ChatGPT APIopenai.model=사용하고자 하는 OpenAI 모델..
-
[MyBatis] User CRUD 구현하기 - C (Create)Spring Boot 2024. 5. 26. 20:01
Spring legacyMybatisOracle 스터디 프로젝트 진행중CRUD 다시 차근차근 공부하기 C (Create) - 회원가입 📌 UserVoimport java.io.Serializable;import lombok.Data;@Datapublic class EseUserVo implements Serializable { private static final long serialVersionUID = 3337545320035130909L; private Integer registNo; private String userId; private String userPw; private String tmprPwNo; // 임시비밀번호 private String userNm; private String u..
-
[Mybatis] Cause: java.sql.SQLException: 부적합한 열 유형: 1111Spring Boot 2024. 5. 26. 19:40
개인 프로젝트 도중user CRUD C(insert)를 하고 있는 중처음 보는 유형의 오류를 보게 되어서오류 해결 과정을 기록해보겠다. 오류메세지co.kr.fourteen.ese.user.controller.EseUserController - EseUserVo(registNo=0, userId=null, userPw=null, tmprPwNo=null, userNm=null, userEmail=null, userPhone=null, userZipCode=null, userFirstAddr=null, userSecondAddr=null, userLevel=null, userDelYn=null, userDelDe=null, regDe=null, pwChangeDt=null, pwFailCnt=null, la..
-
[AA] intercepter 세팅하기Spring Boot 2024. 5. 24. 08:55
회사내에 신규 프로젝트에 intercepter 세팅을 맡게 되었다공부하면서 프로젝트에 반영하면서 블로그에 기록을 해보려한다intercepter 안해본 영역이라 두려움이 있었지만생각보다 별건 없었다 일단 디렉토리 구성은 아래 사진과 같다디렉토리Intercepter.javaimport jakarta.servlet.http.HttpServletRequest;import jakarta.servlet.http.HttpServletResponse;import lombok.extern.log4j.Log4j2;import org.springframework.web.servlet.ModelAndView;@Log4j2public class Intercepter extends HandlerInterceptorAdapter ..
-
[AA] CustomExeptionSpring Boot 2024. 5. 23. 11:04
회사에서 신규프로젝트에 투입을 하게 되어서공통프레임워크 개발에 필요한 Exception 전략을 어떻게 처리할까서칭을 하다 알게된 Exception을 custom할 수 있다는 것을 알게 되었고 프로젝트에 적용한 내 custom exception을 기록해보겠다controller 메서드 마다 try-catch문을 중복으로 넣어지면 코드가 길어지니 Exception으로 처리해보겠다 우선 Exception 처리 디렉토리 구성은 이렇게 만들었다. 우선 에러코드 관리는 Enum 파일을 만들어서 관리하기로 하고 Enum파일을 만들었다현재 Enum에는 3가지 정도의 에러가 있는데 처음 만들어보는 신규 프로젝트기도 하고 AA는 처음이라 어떤 에러가 예상이 되지 않아서 일단은 3개정도로 구분해놓고로직 처리하면서 차후 에..
-
[JavaScript] 스크롤 막기 함수Spring Boot 2024. 5. 7. 16:55
팝업창 업무중 팝업창을 띄우고 팝업창이 위로 올라가면서 뒤에 요소들이 보이게 되어서 이걸 막기위해 스크롤을 막기위해 JavaScript로 처리하게되었다 $(document).ready(function() { function disableScroll() { scrollPosition = window.scrollY; // 현재 스크롤 위치 저장 window.addEventListener('scroll', lockScroll); // 스크롤 이벤트에 lockScroll 함수 연결 document.body.addEventListener('touchmove', preventTouchMove, { passive: false }); // 모바일 스크롤 막기 } function enableScr..
-
addFlashAttribute 활용 - 팝업알림 띄우기Spring Boot 2024. 5. 7. 16:42
업무 프로젝트 진행시 팝업을 띄워 알림을 보여줘야했었다. 많은 데이터 요구 되지 않고, 스토리지와 캐시 차지를 하지 않기 위해 addFlashAttribute 을 사용해서 팝업창을 띄워보기로 했다.addFlashAttribute 는 처음 사용하게 되었는데 flash 속성에 객체를 저장할 수 있다점으로 일회성으로 한번 사용하면 Redirect 후 값이 소멸된다addAttribute와 addFlashAttribute의 차이그렇다면 addAttribute와 addFlashAttribute의 차이는 무엇일까?addAttribute는 학원 프로젝트 진행시 백단에서 프론트단으로 값을 보낼때 많이 사용했던 메서드다.그럼 저 둘의 차이는?? addAttribute는 값을 지속적으로 사용해야할 때 addFlashAttr..
-
[Spring] 수동으로 maven dependency 추가Spring Boot 2024. 4. 17. 14:22
Maven 사용시에 보통 maven 사이트에서 repository 검색해서 pom.xml 파일에 적어서 자동으로 다운로드해서 많이 사용하게 되지만 서버에 구축된 프로젝트가 pom.xml 파일이 없어서 수동으로 dependency를 추가가 필요한 상황이었다. 그래서 수동으로 maven dependency를 추가하였다 maven jar파일 zip을 다운받아서 파일질라로 서버에 접속해서 WEB-INF 안에 lib안에 필요한 jar파일을 수동으로 추가해주었다 그러면 끝 !