728x90

Spring 36

[Spring] AbstractAuthenticationProcessingFilter, OncePerRequestFilter 차이

AbstractAuthenticationProcessingFilter, OncePerRequestFilter 차이를 알아보자!!   Spring Security에서 AbstractAuthenticationProcessingFilter와 OncePerRequestFilter는 두 가지 주요한 필터 유형이다. 이들은 인증 및 요청 처리에 사용된다.  각 필터의 역할과 차이를 살펴보면,  1. AbstractAuthenticationProcessingFilter역할AbstractAuthenticationProcessingFilter는 인증 요청을 처리하는 데 사용주로 폼 기반 로그인, JWT 토큰 인증, OAuth 인증 등 다양한 인증 메커니즘을 구현하는 데 사용.특징인증 요청 전용: 특정 URL 패턴(예: ..

[Spring] 정적파일 캐시에 담기

스프링부트로 정적파일(JS, CSS 등)들을 캐시에 담아서 자원낭비를 막아보자. 1. WebConfig 생성 후 WeMvcConfigurer 인터페이스를 상속 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { } 2. registry에 리소스핸들러, 리소스로케이션, 캐시컨트롤 등을 추가 @Override public void addResourceHandlers(ResourceHandlerRegistry registry) { VersionResourceResolver versionResourceResolver = new VersionResourceResolver(); versionResourceResolver.addC..

[Spring] addAttribute, addFlashAttribute 차이

addAttribute, addFlashAttribute 차이에 대해서 알아보자 addAttribute와 addFlashAttribute는 Spring의 RedirectAttributes 인터페이스의 메서드이다. 이 둘의 차이점은 리다이렉트된 후에 사용할 수 있는 속성의 수명에 있다. addAttribute: 이 메서드를 사용하여 전달된 속성은 URL 쿼리 문자열의 일부로 전달된다. 즉, 속성은 URL에 직접 노출되므로 보안에 취약할 수 있다. 또한, URL의 길이 제한이 있을 수 있다. 주로 데이터가 작은 경우나 보안 상 문제가 없는 경우에 사용된다. addFlashAttribute: 이 메서드를 사용하여 전달된 속성은 일회성으로 저장되어 다음 요청에만 사용할 수 있다. 이러한 속성은 URL에 직접 노..

[Java] 오브젝트: 코드로 이해하는 객체지향 설계 (2)

조영호님의 오브젝트 읽고! 자세한 내용은 도서를 구입해서 보세요! 1. 영화 예매 시스템 만들기 - 상영클래스 public class Screening { private Movie movie; private int sequence; private LocalDateTime whenScreened; ... 생성자 ... public LocalDateTime getStartTime() { return whenScreened; } public boolean isSequence(int sequence) { return this.sequence == sequence; } public Money getMoviceFee() { return movie.getFee(); } public Reservation reserve..

[Java] 오브젝트: 코드로 이해하는 객체지향 설계 (1)

조영호님의 오브젝트 읽고... 자세한 내용은 도서 구입 후 확인... 1. 티켓 판매 애플리케이션 구현 - 초대장 클래스 public class Invitation { private LocalDateTime when; } - 티켓 클래스 public class Ticker { private Long fee; public Long getFee() { return fee; } } - 관람객 가방 클래스 public class Bag { private Long amount; private Invitation invitation; private Ticket ticket; public boolean hasInvitation() { return invitation != null; } public boolean ha..

[Spring] Redirect, Forward 차이

Redirect와 Forward의 차이에 대해서 알아보자 1. Redirect(리다이렉트): 리다이렉트는 클라이언트(브라우저)에게 요청을 다른 URL로 보내도록 지시하는 HTTP 상태 코드와 함께 사용된다.(예: 301 Moved Permanently, 302 Found, 303 See Other 등) 리다이렉트가 발생하면 클라이언트는 새로운 URL로 이동하며, 이때 새로운 URL로의 요청이 새로 생성된다. 클라이언트는 이전 URL에서 새로운 URL로 요청을 재전송한다. 따라서 클라이언트에게는 두 번의 요청이 보이게 된다. 주로 이전 URL이 영구적으로 이동한 경우나 새로운 URL로 재요청을 원하는 경우에 사용된다. 좀 더 자세한 설명을 해보면, 리다이렉트는 클라이언트(웹 브라우저)에게 현재의 URL에서..

[Spring] @Modelattribute, @RequestBody 차이점

@ModelAttribute와 @RequestBody는 둘 다 Spring MVC 프레임워크에서 사용되는 어노테이션으로, HTTP 요청의 데이터를 컨트롤러 메서드에서 처리하기 위해 사용된다. 그러나 두 어노테이션의 사용 방법과 동작에 차이점이 있다. @ModelAttribute @ModelAttribute는 HTTP 요청의 파라미터를 객체로 바인딩하기 위해 사용된다. 컨트롤러 메서드의 파라미터 앞에 @ModelAttribute를 사용하여 해당 파라미터를 객체로 변환하고, 이를 컨트롤러 메서드 내에서 사용할 수 있다. 또한, 이 어노테이션을 사용하면 해당 객체를 자동으로 뷰로 전달된다. 주로 HTML 폼 데이터를 처리할 때 사용된다. 객체 클래스에 @Setter 어노테이션이나 Setter가 필요하다. 예시..

When using COPY with more than one source file, the destination must be a directory and end with a / 해결

Spring boot 프로젝트를 AWS와 Docker Github Action을 사용해서 배포과정 중 만난 에러 그냥 배포를 하게 되면 plain.jar가 생성되는데, 여기엔 우리가 추가한 라이브러리들이 다 빠져있고, 우리가 작성한 코드만 들어있다. 그러다보니 에러가 발생하므로 아래 명령어로 plain.jar 생성을 차단하자 build.gradle에 jar { enabled = false } 추가해준다. -참고 https://dev-j.tistory.com/22

개발/ETC 2023.03.10

[Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (7)

스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱님의 블로그를 보고 공부했다. https://devhooney.tistory.com/140 [Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (5) 스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱 devhooney.tistory.com 1. ItemProcessor - ItemProcessor는 Reader에서 넘겨준 데이터를 개별 건으로 가공하고 처리한다. -..

[Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (6)

스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱님의 블로그를 보고 공부했다. https://devhooney.tistory.com/139 [Spring] 스프링 배치(Spring Batch) 가이드 따라가기 (2) 스프링 배치 가이드 - 지난 포스팅에서 튜토리얼 보고 따라해봤는데, 이번에는 개념부터 천천히 공부해보자. - 책을 보고 공부하려 했으나, 스프링과 부트의 배치 사용 문법이 많이 달라 이동욱 devhooney.tistory.com 1. ItemWriter public interface ItemWriter { /** * Process the supplied ..

728x90