[Spring] 옵션 처리
가끔 빈이 없어도 동작해야할 때가 있다 이 때는 여러가지 방법이 있겠지만 @Autowired 의 옵션 처리를 통해서 처리하는 방법이 있다. @Target({ElementType.CONSTRUCTOR, ElementType.METHOD, ElementType.PARAMETER, ElementType.FIELD, ElementType.ANNOTATION_TYPE}) @Retention(RetentionPolicy.RUNTIME) @Documented public @interface Autowired { boolean required() default true; } 이 required 속성의 default 값이 true이기 때문에 만약 자동으로 주입되어야할 빈이 없으면 오류가 발생한다. 자동 주입 대상을 옵션..
- Spring Framework Module/SpringBoot
- · 2023. 8. 2.
[Spring Batch] JobExecutionListener, StepExecutionListener
스프링 배치에서 전 처리, 후 처리를 하는 다양한 종류의 Listener 존재. Listener interface 구현 @Annotation 정의 Job 실행 전과 후에 실행할 수 있는 JobExecutionListener Step 실행 전과 후에 실행할 수 있는 StepExecutionListener Spring Web 모듈로 치면, Controller 전 처리, 후 처리를 담당하는 interceptor와 비슷한 개념으로 생각하면 된다. 예제 코드 StepListener Step에 관련된 모든 Listener는 StepListener를 상속받는다. StepExecutionListener SkipListener ItemReadListener ItemProcessListener ItemWriteListen..
- Spring Framework Module/Spring Batch
- · 2023. 4. 20.
[Spring Batch] 기초
Task 기반 배치 vs Chunk 기반 배치 배치를 처리할 수 있는 방법은 크게 2가지 Tasklet을 사용한 Taks 기반 처리 배치 처리 과정이 비교적 쉬운 경우 쉽게 사용 대량 처리를 하는 경우 더 복잡 하나의 큰 덩어리를 여러 덩어리로 나누어 처리하기 부적합 Chunk를 사용한 chunk(덩어리) 기반 처리 ItemReader, ItemProcessor, ItemWriter의 관계 이해 필요 대량 처리를 하는 경우 Tasklet 보다 비교적 쉽게 구현 ex) 10,000개의 데이터 중 1,000개씩 10개의 덩어리로 수행 이를 Tasklet으로 처리하면 10,000개를 한번에 처리하거나 혹은 수동으로 1,000개씩 분할하여 처리 Chunk 기반 처리 흐름 reader에서 null을 return ..
- Spring Framework Module/Spring Batch
- · 2023. 2. 18.