Development Experience/Web (12) 썸네일형 리스트형 MyBatis Mapper 사용 안하기 (exclude DataSourceAutoConfiguration) Spring-Web-Application 개발을 진행하면서 회사 공통으로 쓰고 있는 JAR 파일을 첨부하게 되었다. 이 JAR 파일에는 우리 개발팀이 공통으로 쓰는 모듈들이 들어가있는데 주로 DB, gRPC, Util 등의 기능들이 포함되어 있다. 공통된 기능을 내가 따로 개발할 필요없이 이미 만들어진 것을 가져다 씀으로써 편리함과 DRY(Don't Repeat Yourself) 를 얻었지만 예상 못한 문제가 있었다. 바로 MyBatis를 포함한 프로젝트는 어딘가에 Mapper 클래스가 존재해야 한다는 것이었다. 헐? 지금 개발하고 있는 Spring-Web-Application은 DB 기능을 사용하지 않는데? 이 Application은 사용자에게 REST API 인터페이스를 제공하고 요청이 들어오면 다른.. postman으로 전송한 DTO가 계속 null로 온다면.. postman으로 POST 요청을 보낼 때 받는 쪽 Controller에서 DTO가 null인 상황이 나왔다. 처음엔 통신 쪽에 문제가 있나 싶었는데 결국 원인은 postman으로 DTO를 만들어서 보낼 때 JSON 형식이 제대로 되어있지 않았던 것이다. 클래스 명으로 묶을 필요가 없었는데 나는 클래스명으로 데이터를 한번 더 묶은 게 잘못된 형식의 원인이었다. { "id": 1, "title": "mi", "content": "con" } 위와 같이 보내면 JSON 타입으로 잘 변환되는데 { "MyDTO": { "id": 1, "title": "mi", "content": "con" } } 이렇게 감싸버려서 문제가 발생했었다. JPA 사용 도중 DB에 값이 있는데도 findById()가 empty라면.. Spring에서 JPA를 이용해 DB의 값을 꺼내오던 도중 분명히 있는 값인데도 Repository의 findById()를 호출하면 Optional.Empty를 반환하는 현상을 마주하였다. 그래서 findById() 직전에 findAll()을 먼저 호출해보았다. 그랬더니 findAll()의 결과값이 제대로 나왔고 findById()에서도 DB에 있던 값이 잘 리턴되었다. 흠... JPA 뉴비의 관점에선 영속성에 문제가 있는 건가 싶었다. 그런데 이 함수들을 호출하기 직전에 내가 persist()를 한 것도 아니었으니 DB와 1차 캐시간의 싱크가 어긋나진 않았을 거 같은데.. 구글느님께 물어보니 이 현상은 영속성보단 DB의 연관관계 쪽에 원인이 있었다. 나의 프로그램은 A객체가 자식으로 B객체를 가지고 있.. HTML input 태그에서 text가 안보인다면.. jQuery를 이용하여 click event를 catch한 후, 이 event를 통해 얻은 데이터를 input 필드에 표출해주는 작업을 진행중이었다. 프론트 초보자인 나는 input 태그의 text 속성에 내가 원하는 데이터를 넣어주었다. $('#나의_INPUT_TAG').text("내가_원하는_데이터"); 이런 식으로. 그런데 아무리 해도 브라우저 화면에 데이터가 출력되지 않는 것이었다. html 파일에 있는 input 태그에 별 짓을 다 해보아도 데이터가 보이질 않았다. 더 당황스러웠던 건, F12를 눌러 HTML 파일을 보면 내가 출력하고자 했던 데이터가 떡하니 있는 것이었다. 내가_원하는_데이터 이런 식으로. 이게 뭐지... 싶다가 결국 구글님께 답을 얻었다. input 태그의 text가 아니라,.. 이전 1 2 다음