Study/Spring
-
[Spring Batch] CompositeItemWriterStudy/Spring 2022. 6. 26. 20:06
하나의 Step에서 여러개의 ItemWriter를 사용하는 방법 Issue CompositeItemWriter에서 사용할 두 개의 writer 가 데이터를 받는 형식이 달라 문제가 발생하였다. 이전에 겪었던 문제에서 들었던 예시로 설명해보면 다음과 같다. Sentence를 Reader에서 읽고 띄어쓰기를 기준으로 Processor에서 Split해서 Word 들을 생성하고 Writer에서는 List를 받는 상황 이때, Writer를 두 개 생성하여 하나는 word를 저장하고 나머지는 문장이 처리 완료되었다고 sentence_id를 기준으로 상태값을 업데이트 한다고 해보자. (하나의 sentence에서 split된 word는 같은 sentence_id를 가지고 있다.) jdbcBatchItemListWrit..
-
[Error 해결] JdbcBatchItemWriter로 리스트 처리하기Study/Spring 2022. 6. 26. 14:48
Issue Spring Batch에서 기본적으로 제공하는 Writer인 JdbcBatchItemWriter로 리스트 값을 처리하려고 하자 문제가 생겼습니다. ItemReader와 ItemProcessor는 하나의 item을 처리하고 chunk단위로 item을 ItemWriter로 넘기게 됩니다. 즉, ItemProcessor는 처리한 데이터를 하나씩 return 하게 됩니다. 문제는 제가 처리하고 싶은 로직이 ItemProcessor에서 여러 건의 데이터를 return 하고 싶다는 것입니다. 예를 들어, Reader에서 문자열을 읽고 문자열을 한 건씩 ItemProcessor로 넘겼을 때 ItemProcessor는 해당 문자열을 띄어쓰기 기준으로 파싱해서 단어 리스트를 ItemWriter로 보내야 합니다..
-
JdbcTemplateStudy/Spring 2022. 6. 22. 23:18
데이터를 저장하기 위해 도와주는 API로 Spring jdbc 접근 방법 중 하나이다. SQL Mapper이다. SQL Mapper는 SQL을 직접 작성하고 Object의 필드를 매핑하여 데이터를 객체화 하는것이다. Spring JDBC 사용 과정 DB와의 연결을 위한 DB Server에 관한 정보(Property)를 설정한다. Spring JDBC를 사용하려면 먼저, DB Connection을 가져오는 DataSource를 Spring IoC 컨테이너의 공유 가능한 Bean으로 등록해야 한다. 생성된 DataSource Bean을 Spring JDBC에 주입한다. JdbcTemplate 사용법 queryForObject : 리턴하는 결과값이 단일 row 인 경우 Querying for an Intege..
-
[Spring] DI (Dependency Injection) 개념과 예제Study/Spring 2021. 2. 15. 16:20
DI(의존성 주입, Dependency Injection) : 객체를 직접 생성하는게 아니라 외부에서 생성한 후 주입 시켜주는 방식. A객체가 B,C객체를 이용할 때 아래와 같이 두 가지 방법이 있다. 방법 1: New 생성자를 통해 직접 생성 방법 2: 외부에서 생성된 객체를 setter()나 생성자를 통해 사용 -> DI 1. DI 종류 setter() 사용 Cats.java package diEx; public class Cats { public void catsName(String firstCatName, String secondCatName){ System.out.println("catsName()"); System.out.println("첫번째 고양이 이름은 "+firstCatName+"입니다..
-
[Spring] Spring 이란Study/Spring 2021. 1. 25. 16:13
spring boot를 사용하여 프로젝트를 진행하게 되었다. 개념이 잘 잡히지 않는 상태에서 spring boot tutorial을 보고 마구 잡이로 하다보니 한계가 있음을 느꼈다. 코드를 이해하고 더 효율적으로 짜기 위해 체계적으로 공부하려 한다. spring boot는 spring에 기반하여 만들어졌으므로 spring에 대한 이해는 필수라는 이야기를 많이 들었기에 Spring부터 학습하겠다. Spring과 Spring boot의 차이점을 작성하면서 Spring 의 특징을 적긴 했지만 다시 정리해 보려 한다. Spring Framework? : 자바 웹 애플리케이션 개발을 위한 오픈소스 프레임워크 Spring의 특징 1. IOC (Inversion of Control) - 제어의 역전 기존에는 "객체 ..