웹 개발/Back End35 스프링 배치(Spring Batch)란? 스프링 배치는 반복적인 대량 데이터 처리 작업을 자동화하고 성능을 최적화하는 Spring 기반 프레임워크입니다.예를 들어, "매일 자정에 사용자의 포인트를 정산해야 한다"고 가정하면, 이를 수작업으로 처리하면 비효율적이고 오류 가능성이 큽니다.스프링 배치를 사용하면 이러한 작업을 일정한 주기 또는 특정 이벤트에 따라 자동 실행하고, 효율적으로 데이터를 읽고, 가공하고, 저장할 수 있습니다. ✅ 대표적인 활용 예시ETL(Extract, Transform, Load) 작업: 데이터베이스에서 데이터를 추출하고 변환하여 다른 시스템으로 적재데이터 마이그레이션: 기존 시스템의 데이터를 새로운 시스템으로 이동정산 작업: 월급 계산, 포인트 정산, 주문 상태 업데이트 등의 대량 데이터 처리 ✅ 스프링 배치의 핵심 .. 2025. 4. 12. 이벤트 리스너 사용법 @Getter@RequiredArgsConstructorpublic enum EmailAlarmEventType implements StonEnumMapperType { GOODS_OFF_SCHEDULING_STOP_MAIL_ALARM("GOODS_OFF_SCHEDULING_STOP_MAIL_ALARM", "상품 판매 중단에 따른 스케줄링 취소 메일 알림"), DEFERRED_USE_LIMIT_MAIL_ALARM("DEFERRED_USE_LIMIT_MAIL_ALARM", "후불 마스터 사용 한도 알림"); private final String code; private final String title;} 첫번째로 이벤트 타입을 Enum 클래스를 생성합니다. 원하는 이벤트 타입을 예시.. 2024. 9. 17. Java 헷갈리는 것들 모음 최근에 Java를 사용하면서 헷갈렸던 것들을 가져와봤습니다. 1. @AllArgsConstructor 주의점@AllArgsConstructor를 자주 사옹하지는 않지만 처음에 서버에서 오류가 나길래 한참 해맸더니 파라미터 순서를 지키지 않아서 발생한 오류였습니다. 2. final, static 개념final은 고정하는 것, static은 어디서든 접근할 수 있음fianl이 선언되면 해당 변수를 수정할 수 없고 클래스는 상속할 수 없습니다.static이 선언되면 해당 변수, 메서드를 다른 클래스에 공유해서 생성자를 만들필요 없이 바로 사용할 수 있습니다. 3. 정적 팩터리 메서드 개념객체를 생성할 때 생성자 방식보다 정적 팩터리 메서드를 주로 사용한다. 생성자 방식은 잘 사용하지 않는 이유는 여러 .. 2024. 9. 16. 마이바티스 사용법 쿼리에서 문자열 빈값 확인하기 이렇게 직접 null과 ""인지 확인하는 것 보다는 StringUtils를 사용하는게 더 안전하다고 합니다. 리스트 컬럼 가져오기 public Response(Long addressBookFolderNo, String folderName, LocalDateTime createdAt, List groupList) { this.addressBookFolderNo = addressBookFolderNo; this.folderName = folderName; this.createdAt = createdAt; this.groupList = groupList; } .. 2024. 9. 15. @Mapper 사용법(Dto -> 엔티티 매핑) @Mapper는 어떻게 사용하는 어노테이션일까? @Mapper(config = MapstructMapperConfig.class)public interface UserMapper { UserMapper INSTANCE = Mappers.getMapper(UserMapper.class); UserMain to(UserModifyDto.ModifyPasswordByKmcDi modifyPasswordByKmcDiDto); UserMain to(UserAwakenDto.Request request, UserStatus userStatus); UserMain to(UserPaymentRegisterDto.Request request, Long userNo);} @Mapper 어노테이션은.. 2024. 9. 9. 스프링 시큐리티 개념 스프링 시큐리티 스터디를 시작하게 되었는데 다음주 발표라서 급하게 만듭니다. 단어, 그림 위주로 넣고 발표할 때 자세히 설명할거임 -> 사유: 꽤바쁨 1. 교재 2. 스프링 시큐리티란?스프링 시큐리티는 Spring 기반의 애플리케이션에서 보안 기능을 제공합니다. 인증 : 사용자의 신원 확인인가: 사용자의 권한 확인 추가적으로 CSRF, XSS, 세션 변조 등 여러가지 웹해킹 공격을 방지해주는 기능을 제공합니다. 3. 왜 스프링 시큐리티를 사용하는가? 그냥 JWT 토큰만 사용하는거랑 무슨 차이가 있을까? 1. 직접 설정하기 귀찮다.-> JWT 코드@Slf4j@Service@RequiredArgsConstructorpublic class JwtService { public static f.. 2024. 5. 19. JPA : Java Persistence API - 자바 진영의 ORM 기술 표준 1.1 ORM? - Object-relational mapping(객체 관계 매핑) - 객체는 객체대로 설계 - 관계형 데이터베이스는 관계형 데이터베이스대로 설계 - ORM 프레임워크가 중간에서 매핑 - 대중적인 언어에는 대부분 ORM 기술이 존재 JPA를 사용하지 않는다면 객체 데이터를 보낼 때 objectMapper로 복잡하게 맵핑해야한다.. JPA는 인터페이스의 모음 JPA 2.1 표준 명세를 구현한 3가지 구현체 하이버네이트, EclipseLink, DataNucleus • JPA는 특정 데이터베이스에 종속 X, • 하이버네이트는 40가지 이상의 데이터베이스 방언 지원 1.2 JPA 구동방식 1.3 엔티티의 생명주기 • 비영속 (new/transient) : 영속성 컨텍스트와 전혀 관계가 없는 새.. 2022. 12. 22. 스프링 MVC 디자인 패턴의 역사 오랜만에 스프링을 복습하면서 작성해본다.. 서블릿이란? 서블릿은 자바 클래스로 웹 애플리케이션을 작성한 뒤 이후 웹 서버 안에 있는 웹 컨테이너에서 이것을 실행하고, 웹 컨테이너에서는 서블릿 인스턴스를 생성 후 서버에서 실행되다가 웹 브라우저에서 서버에 요청(Request)을 하면 요청에 맞는 동작을 수행하고 웹 브라우저에 HTTP형식으로 응답(Response)합니다. HttpServletRequest, HttpServletResponse를 사용할 때 가장 중요한 점은 이 객체들이 HTTP 요청 메시지, HTTP 응답 메시지를 편리하게 사용하도록 도와주는 객체라는 점이다. 따라서 이 기능에 대해서 깊이 있는 이해를 하려면 HTTP 스펙이 제공하는 요청, 응답 메시지 자체를 이해해야 한다 JSP 란 Jav.. 2022. 12. 22. Spring REST Docs Spring Rest Docs를 이용하여 API 스펙을 명시하는데 필요한 기본 설정을 하였다. https://github.com/Lemon-soju/Vue_Spring/commit/1b0be0f04b6b4b74a5eb05d2e4d1afa89c608a49 Merge pull request #14 from Lemon-soju/slave-01 · Lemon-soju/Vue_Spring@1b0be0f Spring REST Docs - Default Configuration github.com Spring Rest Docs란? API문서 작성을 자동화해주는 도구는 여러가지가 있지만 대표주자로 Swagger와 Spring Rest Docs가 있다. Swagger는 API 동작을 테스트하는 용도에 더 특화되어있다. .. 2022. 9. 15. 이전 1 2 3 4 다음