전체 글
-
[Redis] key 속성 값이 null로 나오는 경우(IntelliJ, Gradle 8.12.1)4.Spring/4.2 업무관련 알게 된 내용 2025. 2. 2. 21:17
*IDE : IntelliJ이고 Gradle 버전은 8.12.1아래와 같이 설정해놓은 상황.Redis공부를 하던 중,key 속성 값이 자꾸 null로 나와 곤욕을 치뤘다.@RestController@RequestMapping("/boards")public class BoardController { private final BoardService boardService; public BoardController(BoardService boardService) { this.boardService = boardService; } @GetMapping public List getBoards(@RequestParam(name="page" , defaultValue="1")i..
-
[RabbitMQ] rabbitMQ 공부..5. 그 외 공부/5.5 기타 2024. 11. 18. 19:54
회사에서 메시지 브로커의 일종인 RabbitMQ를 사용 중이다. RabbitMQ 얘기를 할때마다 이게 뭔소리지?? 무슨말을 하는거지 의문이었다. 좀 한가한 틈을 타서 GPT에 물어물어.... RabbitMQ 를 공부하였다. 처음에 궁금했던 점이 도대체 RabbitMQ가 뭔지.. 얘를 왜 쓰는지였다.. RabbitMQ는 서버와 서버간에 메시지를 효율적으로 처리하는 역할을 한다고 한다.효율적으로... 처리한다???? 는게 뭘까 알아보았다.보통 rabbitMQ같은 메시지 브로커는 통신 하려는 서버들 사이에 위치한다고 한다.A 서버 -> MessageBroker -> B서버1. 서버와 서버간에 의존성이 줄어든다 : 만약 두 서버중에 하나의 서버가 고장나도 통신하려는 메시지는 rabbitMQ 서버에 남아있어서 ..
-
[Servlet]Filter를 통해서 특정 url 요청이 들어오면 응답 바디를 변환하여 클라이언트에게 전달하기1. JAVA/1.4 업무관련 알게 된 내용 2024. 9. 17. 16:14
프론트앤드 프로젝트를 하며 백엔드 로직도 살짝 만지게 되었는데/rest라는 url 요청이 들어오면 /rest를 제외한 url로 변환하여 해당 백엔드 로직에 접근하고 , 응답 바디를 커스터마이징 하도록 구현하였다.ex ) /rest/test -> /test에 해당하는 컨트롤러에 접근 -> 응답 데이터형식이 기존 list:[{...},{...}] 라면, /rest로 시작하는 요청건이라면 result로 한번 더 감싸서 result:{list:[{..},{..}]} 반환 처음에는 interceptor에서 구현하려고 삽질을 하였지만, 인터셉터는 바디를 변환하는데 제한적이라는 것에 깨달음을 얻어 좀더 폭 넓은 Filter를 통하여 기능을 구현하였다. 참고 ) 인터셉터와 필터와의 차이인터셉터 : 스프링M..
-
[Spring] FlashMap으로 페이지 간 값 교환하기4.Spring/4.2 업무관련 알게 된 내용 2024. 6. 23. 11:09
현재 프론트엔드 페이지를 수정해야하는 그치만 상대적으로 간단한..? 프로젝트에 투입이 되었다보통은 controller로 사용자에게 보여질 페이지 경로를 입력하면 내가 원하는 경로로 페이지가 보여지게 되는데이.. view의 경로가 싹다 바뀌어 컨트롤러 경로를 하나하나 수정하고 백엔드 코드를 건드리는건 너무 비효율적이라고 생각했다. 그래서 내린 결론이 interceptor을 이용하자!예를들어/test/{페이지아이디} 페이지 요청을 받으면 /test/rest/{페이지아이디}로 리다이트 되게끔 해주어리다이렉트 되는 페이지에 기존 모델 값만 전달해주면 됐었다. 하지만 쿼리스트링으로 값 전달은 ㄴㄴ! 1. "/test/1"에 대하여 url 요청시 Controller단 @GetMapping(value="/tes..
-
[SpringBoot] Application startup failedorg.springframework.beans.factory.BeanDefinitionStoreException: Failed to parse configuration class5. 그 외 공부/5.1 ERROR 2024. 4. 2. 12:02
회사에서 프로젝트 빌드를 하다가 해당 에러가 나와서 1시간동안 헤맴.. 에러 내용 *Application.main(*Application.java:23) [classes/:na] Caused by: java.io.FileNotFoundException: class path resource [properties/*.properties] cannot be opened because it does not exist at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172) ~[spring-core-4.3.6.RELEASE.jar:4.3.6.RELEASE] at org.springframework.core...
-
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name '*' defined in file [**]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.Unsatisfied..5. 그 외 공부/5.1 ERROR 2023. 10. 24. 17:49
org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'memberController' defined in file [C:\Users\USER\Downloads\demo\out\production\classes\com\example\demo\controller\MemberController.class]: Unsatisfied dependency expressed through constructor parameter 0; nested exception is org.springframework.beans.factory.UnsatisfiedDependencyException: Error cre..
-
com.mysql.cj.jdbc.exceptions.MysqlDataTruncation: Data truncation: Data too long for column '*' at row 15. 그 외 공부/5.1 ERROR 2023. 10. 16. 09:38
혼자 토이프로젝트를 하다가 해당 에러를 접하고 말았다.. 이유는 즉슨.. 테이블 생성했을때 해당 칼럼에 대하여 varchar(50)으로 했었던점.. 문자열 길이가 50자가 넘어서 생기는 에러라고 한다. 그래서 alter table (테이블명) modify (칼럼명) text로 수정해주었다. 끝