개발일지
close
프로필 사진

개발일지

github: @ghrnwjd

  • 분류 전체보기 (59)
    • 🍃 스프링 (15)
    • 🧩 자바 (8)
    • 📦 개발 (19)
      • JavaScript (12)
      • AI (3)
      • opencv (4)
      • 논문 (0)
    • 🌱 프로젝트 (8)
      • 소방알리미 (6)
      • 크롤링 (2)
    • 📚 컴퓨터사이언스 (3)
      • Network (2)
      • Web (1)
    • 🔧 etc (5)
  • Github
  • INFO

[SPRING] H2 DB 연결 중 에러 정리

H2와 JPA를 사용하기 위한 기본 설정 중 PersonRepository가 스프링 빈에 등록되지 않는 에러가 발생. 해결하기 위하여 @EnableJpaRepositories를 통하여 스프링 실행 중 레파지토리를 빈에 등록할 수 있도록 하였지만 같은 에러가 발생하였다. @Repository public interface PersonRepository extends JpaRepository { } *************************** APPLICATION FAILED TO START *************************** Description: Parameter 0 of method init in com.ghrnwjd.httpresponsecode.data.DBinit require..

  • format_list_bulleted 🍃 스프링
  • · 2024. 1. 15.
[SPRING] JPA 순환 참조

[SPRING] JPA 순환 참조

JPA에서 양방향 매핑 설정 후 유저 정보 조회를 하는 과정에서 무한히 서로를 참조하는 에러가 발생하였다. /service/UserService.java Spring Data JPA를 이용하여 유저정보를 조회하는 코드 작성하였다. public User findUser(String username) { return userRepository.findByUsername(username); } 에러 발생 구글링을 해보니 @JsonIgnore 어노테이션을 사용할 수 도 있지만 DTO를 만드는 것이 효과적이라고 한다. User의 모든 정보를 보기 위해 UserDto는 User의 모든 필드를 포함하도록 작성하였다. ** domain/dto/UserDto.java ** domain/dto/MemoDto.java **..

  • format_list_bulleted 🍃 스프링
  • · 2023. 9. 11.
[SPRING] ResponseDTO

[SPRING] ResponseDTO

Response를 할 때 응답코드를 어떻게 보내야 좋은건지 알아보았다. * CommonResponseDto.java @NoArgsConstructor @AllArgsConstructor @Data public class CommonResponseDto { private int statusCode; private String status; private T data; } 보통 statusCode만 리턴하는데, 공부하는 겸 statusCode에 대한 설명을 담은 status 변수를 담아주었다. 그리고 리턴할 데이터를 제네릭 타입으로 설정하여 어떤 데이터에 대해서도 인자로 받을 수 있도록 하였다. * UserAPIController.java @GetMapping("/user/dto") public Common..

  • format_list_bulleted 🍃 스프링
  • · 2023. 8. 28.
[SPRING] GET API Query String

[SPRING] GET API Query String

url로 쿼리를 전달해서 보낼 때 GET 메소드를 구현하는 방법에 대해서 알아봤다. 1. @RequestParam @GetMapping("/user/query") public String 유저정보출력쿼리(@RequestParam Map params) { StringBuilder sb = new StringBuilder(); params.entrySet().forEach(param-> { sb.append(param.getKey()+ ": " + param.getValue() + "\n"); }); return sb.toString(); } 응답 원래 쿼리스트링으로 몇개가 올지 모른다는 단점 때문에 사용하지 않고 있다가 Map 자료구조를 사용하면 개수에 상관없이 사용할 수 있다는 것이 좋은 것 같다. 2...

  • format_list_bulleted 🍃 스프링
  • · 2023. 8. 26.
[SPRING] 컬렉션

[SPRING] 컬렉션

스프링 JPA 공부 중 연관관계에 대해 공부하던 중 외래키가 있는 부분을 연관관계의 주인으로 설정해야된다. 이 때 외래키가 있는 부분은 주로 다에 해당된다. 팀과 멤버가 있을 때 멤버가 팀의 FK를 가지 있다면 멤버가 연관관계의 주인이 되고 일에 해당되는 곳은 자바 컬렉션인 Collection, List, Set, Map 중에 하나를 사용한다. 컬렉션 자바에서 컬렉션이란 데이터의 집합, 그룹을 의미하고 자바컬렉션프레임워크(JCF)는 컬렉션과 이를 정의하는 인터페이스를 제공한다. List, Set, Queue는 Collection의 하위 인터페이스로서 상속받고 있다. Map도 크게 보면 Collection을 상속받고 있지 않지만 의 일부로 볼 수 있다. 1. Set Set 인터페이스를 구현하는 클래스로 H..

  • format_list_bulleted 🍃 스프링
  • · 2023. 7. 30.
[SPRING] Entity, DTO

[SPRING] Entity, DTO

Entity와 DTO를 분리하는 이유 1. Entity 보호: Entity는 자원의 속성이 무분별하게 변하면 안되기에 Setter 사용을 자제해야 한다. 그에 비해 DTO는 Getter, Setter에 영향이 크지 않다. 2. 필요한 데이터만 선별: 사용자의 경우(id, pw, email, address 등)으로 엔티티가 구성되어 있고 로그인을 한다고 가정을 하면 필요한 데이터는 id, pw의 값을 가지고 있으면 된다. 3. 순환참조 예방: JPA에서 양방향 참조 엔티티를 컨트롤러에서 반환하면 순환참조가 발생하고 스택오버플로우가 발생. 이를 DTO를 통해 예방할 수 있다. DTO (Data Transfer Object) 로직을 가지지 않는 자바 빈이다. MVC간 데이터 교환을 위한 객체이며 Getter,..

  • format_list_bulleted 🍃 스프링
  • · 2023. 7. 24.
  • navigate_before
  • 1
  • 2
  • 3
  • navigate_next
공지사항
전체 카테고리
  • 분류 전체보기 (59)
    • 🍃 스프링 (15)
    • 🧩 자바 (8)
    • 📦 개발 (19)
      • JavaScript (12)
      • AI (3)
      • opencv (4)
      • 논문 (0)
    • 🌱 프로젝트 (8)
      • 소방알리미 (6)
      • 크롤링 (2)
    • 📚 컴퓨터사이언스 (3)
      • Network (2)
      • Web (1)
    • 🔧 etc (5)
인기 글
전체 방문자
오늘
어제
Copyright © 홓옇 모든 권리 보유.
SKIN: Copyright © 쭈미로운 생활 All rights reserved. Designed by JJuum.
and Current skin "dev-roo" is modified by Jin.

티스토리툴바