Java | spring69 스케줄링 보다는 Spring Batch! 기본개념 배치는 생각보다 장점이 많은데, 기존에 작업되어 있던 부분을 개선할 생각을 못했을까? 라는 의문이 들어서 다시 공부해 보았다.주기적으로 통계, 결산, 마감 같은 처리 작업이나 대량 데이터를 일괄 처리하는 작업을 하고 있거나, 할 예정이라면!스프링 배치를 제대로 공부해 보고 적용해 보는 것도 아주 좋은 선택이다. 배치 프로세싱이란?대량 데이터를 일괄 처리하는 방식으로 주기적이거나 조건에 따라 한번에 여러 작업을 처리하는 것을 말한다.특징실시간 처리가 필요 없는 작업에 적합빠른 응답성보다는 안정성과 대량 처리 효율에 초점주요 사용 사례금융 시스템 일괄 / 월간 결산근태 시스템 업무 마감 처리통계 데이터 생성(월간, 연간 등)대량 데이터 마이그레이션스케줄링 vs 배치구분스프링 스케줄링 (Spring Sch.. 2025. 8. 23. JPA 조회 동작 방식 비교 : findById(), getOne(), getReferenceById() JPA 주요 조회 메서드는 아래와 같다. findById() getReferenceById() getOne() → 현재는 Deprecated된 메서드 아무 생각없이 쓰던 findById()와 다른 메서드는 어떤 차이를 가지는지 동작 방식과 구현 코드를 보며 비교해 보자. JpaRepository @Repository public interface BookRepository extends JpaRepository { } JPA를 사용하면 엔티티 단위로 위와 같이 JpaRepository를 상속 받은 Repository interface를 생성 위와 같이 JpaRepository 상속 받는 경우 기존에 구현된 기능을 그대로 사용할 수 있음 사용 가능 주요 메서드 S save(S entity) Iterable.. 2024. 3. 27. 스프링 AOP 기본 개념 잡기! 스프링을 공부하고 서비스를 운영하다 보면 AOP를 적용해야 하는 경우가 생긴다. 핵심 기능은 아니지만, 핵심 기능을 보조하기 위한 부가 기능을 구현해야 하는 경우에 AOP를 사용하게 된다. 기존에 공부하고 사용했던 부분이긴 한데, 오랜만에 강의를 들으면서 공부하니, 정리해 놓으면 좋겠다 싶어서 기본 개념 정리를 해보려 한다. 만약 아래와 같은 고민을 하고 있다면 AOP에 대해 공부해 보면 좋다. 공통적으로 처리해야 하는 로직이 있는데, 중요 관심사는 아니다. 추가 기능을 적용해야할 메서드가 많다. 소스 코드에 핵심 로직이 아닌 불필요 로직이 섞여 있는것이 맘에 들지 않는다. 나는 아래와 같은 요구 사항이 있어서 AOP를 공부하고 실무에 적용한 적이 있다. 관리자 페이지에서 개인정보가 포함된 정보를조회하는.. 2024. 1. 3. Spring boot 3.2.0 마이그레이션 가이드 (+끝 없는 오류 해결 방법!) 토이 프로젝트 백엔드 서비스의 스프링 부트 버전을 3.2.0 으로 업그레이드를 했다. 기존에 스프링 부트를 2.7 버전을 사용하고 있었기 때문에 버전을 변경하는게 간단할줄 알았는데 아니었다...! 아직 회사에서 사용하는 프로젝트들은 2 버전을 모두 사용하고 있기 때문에 버전을 업하는 경우 똑같은 오류를 볼 수밖에 없어서 이김에 정리하려고 한다. 그리고 생각보다 오류 관련해서 포스팅이 별로 없어서 생각보다 헤매면서 삽질을 했기 때문에 나와 같은 다른 개발자들에게 조금의 삽질이라도 덜어 줄 수 있기를! 스프링 부트 3.0 주요 변경 사항 Java EE에서 Jakarta EE API 로 마이그레이션 예시 - (기존) javax.servlet:javax.servlet-api > (변경) jakarta.servl.. 2023. 12. 21. Java 파일 업로드, 다운로드 처리(+파일 사이즈 제한 세팅 방법) 프로그램을 개발하다 보면 파일 업로드, 다운로드 처리하는 경우가 다수 있다. 간단하게 게시판을 만들더라도, 첨부파일을 올리거나 이미지를 올릴 수 있게 하는 기능을 기본적으로 구현한다. 웹 서비스에서 파일 업로드 게시판 서비스를 제공한다면, 게시글을 작성할 때 파일만 업로드하는게 아니라 글을 작성하고 파일도 함께 첨부하게 된다. 이런 경우 일반 데이터는 텍스트로 전달하고 첨부파일은 바이너리 데이터로 전송해야 한다.(파일 업로드 시 파일 데이터는 바이너리 데이터로 전송) HTTP로 데이터 전송 시 entype을 multipart/form-data 전송하면 각각의 항목이 Part로 구분해서 한번에 전달이 된다. Form 태그로 전송 시 아래와 같이 써야 한다. enctype="multipart/form-dat.. 2023. 12. 17. JPA 영속성 컨텍스트 장점(+ 테스트 코드) JPA의 가장 중요한 개념 중 하나가 영속성 컨텍스트라는 것이다. 만약 영속성 컨텍스트를 잘 모르겠다면! 아래 글을 먼저 보고 오길 추천한다. JPA 영속성 컨텍스트 및 내부 동작 방식 JPA 영속성 컨텍스트 및 내부 동작 방식 JPA를 처음 학습하는 경우에 영속성 컨텍스트가 무슨 의미인지 이해하기가 쉽지 않다. 사실 사용하다 보면 자연스럽게 이해가 되긴 하는데, 처음에 해당 개념을 제대로 이해하지 않으면 내 생각 developsd.tistory.com 영속성 컨텍스트는 간단하게 말해서 "엔티티를 영구 저장하는 환경"이라는 뜻이다. 지금은 잘 이해가 가지 않더라도 아래 내용을 보다보면 조금은 이해가 될 것이라 확신한다! 이번 글에서는 영속성 컨텍스의 이점에 대해서 상세하게 설명해 보고자 한다. JPA에서.. 2023. 10. 9. JPA 영속성 컨텍스트 및 내부 동작 방식 JPA를 처음 학습하는 경우에 영속성 컨텍스트가 무슨 의미인지 이해하기가 쉽지 않다. 사실 사용하다 보면 자연스럽게 이해가 되긴 하는데, 처음에 해당 개념을 제대로 이해하지 않으면 내 생각과 다르게 동작하는 것을 보면서 아주 당황할 수 밖에 없다. 그래서 제대로 이해하고 넘어가는 것이 좋다. 영속성 컨텍스트(Persistence context)란? JPA 이해 시 가장 중요한 용어 entity 영구 저장하는 환경 영속성 컨텍스는 논리적인 개념 entityManager를 통해 영속성 컨텍스트에 접근 entity를 저장하거나 조회하면 entityManager는 영속성 컨텍스트에 엔티티를 보관하고 관리함 위에 내용만으로 바로 이해가 되지 않는 것이 정상이다! 보통 애플리케이션에서 데이터베이스에 데이터를 저장하.. 2023. 10. 8. 필터 기반으로 동작하는 Spring Security & 필터 종류 스프링 시큐리티는 필터 기반으로 동작한다. 하여 스프링 시큐리티를 이해하기 위해서는 필터를 제대로 이해하는 것이 좋다! 필터(Filter) 란 무엇인가? 필터는 요청과 응답을 걸려서 정제하는 역할 클라이언트로부터 오는 request/response에 대해 최초,최종 단계에 존재 사용되는 용도 : 로깅 용도, 인증, 권한 체크 등 ex) 들어온 요청이 DispatcherServlet에 전달되기 전에 헤더를 검사해 인증 토큰 여부, 변조 검사 등을 함 여러개의 필터가 모여서 하나의 체인(chain)을 형성 할 수 있음 filterchain 사용 코드 public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain).. 2023. 10. 2. Spring Security 기본 개념 및 세팅 (+ please sing in 로그인 방법) 이 글을 이해한다면 스프링 시큐리시의 간단한 개념과 아래와 같은 형태의 세팅 방법에 대해 알 수 있다! URL 별로 접근 권한 처리를 하고 싶은 경우 로그인한 사용자와 관리자 권한을 가진 사용자가 지정한 리소스만 접근 가능하도록 세팅하고 싶은 경우 Spring Security란? Spring Security is a powerful and highly customizable authentication and access-control framework. It is the de-facto standard for securing Spring-based applications. Spring Security is a framework that focuses on providing both authenticati.. 2023. 10. 1. 이전 1 2 3 4 ··· 8 다음 반응형