개념정복💫24 GitHub Actions 셋업 에러 (Run actions/setup-java@v3) CI/CD 파이프라인에서 GitHub Actions를 사용할 때, Java 프로젝트 빌드를 위해 actions/setup-java@v3를 설정하는 경우가 많습니다.이때 distribution 옵션을 누락하면 에러가 발생할 수 있습니다.1. 에러 내용Run actions/setup-java@v3Error: Input required and not supplied: distributionsetup-java@v3 버전에서는 distribution 파라미터가 필수2. 해결 방법with 블록 안에 원하는 JDK 배포판(예: temurin)을 명시해주면 됩니다.예시:- name: Set up JDK 17 uses: actions/setup-java@v3 with: distribution: 'temurin'.. 2025. 2. 26. JPA 메서드 네이밍 & 반환 타입 Spring Data JPA는 메서드 이름만으로 쿼리를 자동으로 생성해주는 기능을 제공합니다.findByXxx, readByXxx, countByXxx처럼 메서드 이름을 규칙에 맞게 설정하면 편리하게 DB 접근이 가능.1. findByTagNo역할: 특정 tagNo 값을 가진 여러 개 태그 데이터 조회반환 타입: List예시:public interface TagsRepository extends JpaRepository { List findByTagNo(Long tagNo);}주의: DB에서 tagNo가 유일(unique)하지 않다면, 여러 개의 엔티티가 반환될 수 있습니다.2. getTagById역할: 단일 태그를 조회할 때 사용하는 서비스 레이어 메서드내부적으로 findById 등을 사용하여 O.. 2025. 2. 25. 스프링에서 Bean 주입 시 주의사항 (필드 vs 생성자 주입) Spring에서 의존성 주입(Dependency Injection)을 할 때, 흔히 @Autowired를 사용합니다.여기서 필드 주입(Field Injection)과 생성자 주입(Constructor Injection) 두 가지 중 무엇을 사용할지 자주 논의되는데요,주로 권장되는 방식은 생성자 주입입니다.1. 필드 주입(@Autowired)의 문제점가시성 부족: 클래스 내부 필드에 그냥 @Autowired 하면, 어디서 어떻게 주입되는지 한눈에 파악하기 어려움final 사용 불가: 런타임에 주입되므로, 재할당 불가능하게 만들기 힘듦테스트 어려움: 단위 테스트에서 Mock 객체를 주입하기가 번거롭거나 불가능할 수 있음2. 생성자 주입의 장점명시적 의존성: 생성자 시그니처에서 어떤 의존성이 필요한지 바로 확.. 2025. 2. 24. 양방향 매핑 시 무한 루프 문제란? JPA에서 양방향 연관 관계(예: @OneToMany, @ManyToOne 등)를 설정하면,Spring Boot에서 JSON을 직렬화(Serialize)할 때 무한 루프(Infinite Recursion) 문제가 발생할 수 있다.📌 무한 루프 발생 예시@Entitypublic class User { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; private String name; @OneToMany(mappedBy = "user", cascade = CascadeType.ALL) private List orders;}@Entitypublic class Order { @Id @.. 2025. 2. 23. 이전 1 2 3 4 ··· 6 다음