[공부] 프로그래밍
-
[error] Execution failed for task ':test'.> No tests found for given includes: [com.fastcampus.pass.job.pass.AddPassesTaskletTest](--tests filter)[공부] 프로그래밍/ERROR 2024. 4. 24. 15:38
Execution failed for task ':test'. > No tests found for given includes: [com.fastcampus.pass.job.pass.AddPassesTaskletTest](--tests filter) junit 5인 경우, import의 test를 아래와 같이 수정하기import org.junit.jupiter.api.Test;인텔리제이의 셋팅을 아래와 같이 변경하기
-
[error] save(Object)" because "this.passRepository" is null, No ParameterResolver registered for parameter in constructor[공부] 프로그래밍/ERROR 2024. 4. 24. 15:37
save(Object)" because "this.passRepository" is nullPassRepository 빈이 올바른 패키지에 위치하지 않았을 경우 PassRepository에 대한 구성이 제대로 되어있지 않은 경우 (예: @Repository 어노테이션이 빠져있는 경우) PassRepository 인터페이스를 구현한 클래스가 없는 경우 No ParameterResolver registered for parameter in constructor @SpringBootTest(classes = PassBatchApplication.class)@SpringJUnitConfigclass PassRepositoryTest { private final PassReposito..
-
Mockito 기반의 테스트[공부] 프로그래밍/Spring・Spring Boot (JAVA) 2024. 4. 24. 15:36
Mockito 기반의 테스트가짜(mock) 객체를 지원하는 테스트 프레임워크이다. 테스트를 진행 시 여러 객체들간의 의존성이 존재하기 때문에 이를 해결하기 위해서 가짜 객체를 주입시켜 테스트를 진행한다.@Mock : Mock 객체를 만들어 변환해주는 어노테이션@Spy : Stub하지 않은 메서드들은 원본 메서드 그대로 사용하는 어노테이션@InjectionMocks : @Mock 또는 @Spy로 생성된 가짜 객체를 자동으로 주입시켜 주는 어노테이션 Mockito와 Junit의 결합@ExpendWith(MockitoExtension.class) 를 사용하여 결합 가능 주요 기능ArgumentCaptor이를 사용하여 메소드 호출 시 전달된 매개변수를 캡처하고 검증할 수 있습니다.여기서 ArgumentCapto..
-
Spring Batch 구현 - 3[공부] 프로그래밍/Spring・Spring Boot (JAVA) 2024. 4. 24. 15:32
♧ 전체 코드 : https://github.com/woodisco/pass-batch GitHub - woodisco/pass-batchContribute to woodisco/pass-batch development by creating an account on GitHub.github.com 이용권 일괄 지급 배치① AddPassesJopConfig 작성package com.fastcampus.pass.job.pass;import org.springframework.batch.core.Job;import org.springframework.batch.core.Step;import org.springframework.batch.core.job.builder.JobBuilder;import org.sp..
-
Spring PSA[공부] 프로그래밍/프로그래밍의 기초 2024. 4. 23. 10:52
Spring PSA다양한 기술을 통일된 추상화로 제공하여 개발자가 특정 구현에 종속되지 않고 작업할 수 있게 해줍니다. 이러한 추상화는 개발자가 밑바닥부터 구현에 집착할 필요 없이 코드를 작성할 수 있도록 도와주며, 결과적으로 코드의 유지보수성과 유연성을 높여줍니다.예를 들어 간단히 설명하자면 스프링에서 어노테이션을 선언하는 것만으로 별도의 코드 추가 없이 서비스를 사용할 수 있습니다. 이것은 내부적으로 코드가 추상화되어 숨겨져 있기 때문입니다. 추상화를 사용하여 어떤 기술을 내부에 숨기고 개발자에게 편의성을 제공해 주는 것이 서비스 추상화(Service Abstraction)입니다.참고 : https://calgaryhomeless.tistory.com/10
-
매핑[공부] 프로그래밍/프로그래밍의 기초 2024. 4. 18. 12:49
매핑매핑(mapping)은 객체(Object)와 데이터베이스(Database) 간의 상호 변환을 의미합니다. 객체는 자바에서 사용되는 데이터 구조를 나타내며, 데이터베이스는 데이터를 저장하고 관리하는 시스템입니다. 매핑은 객체와 데이터베이스 간의 구조적 불일치를 해결하기 위해 필요합니다. 이를 통해 객체 지향 프로그래밍 언어와 관계형 데이터베이스 간에 효율적으로 상호 작용할 수 있습니다.예를 들어, 자바 언어로 작성된 사용자(User) 객체와 MySQL 데이터베이스에 있는 'users' 테이블을 매핑할 수 있습니다. 사용자 객체의 속성(예: 이름, 나이, 이메일)은 'users' 테이블의 열과 일치합니다. 객체의 메서드는 데이터베이스 작업(예: 삽입, 업데이트, 삭제)을 수행하는 데 사용될 수 있습니다...