본문 바로가기

스프링 관련/스프링16

스프링 Rest API로 전달 된 파일 저장하기 (MultipartFile 사용) Controller @PostMapping("/files") public ResponseDTO upload(MultipartFile file){ fileStorageService.save(file); return ok(); } FileStorageService.java package com.fastcampus.loan.service; import org.springframework.web.multipart.MultipartFile; public interface FileStorageService { void save(MultipartFile file); } FileStorageServiceImpl.java @Service @RequiredArgsConstructor public class FileStor.. 2023. 3. 5.
동시성 / 비동기 프로그래밍 관련 url index 페이지 https://charactermail.tistory.com/439 동시성 이슈 동시성 이슈 해결하는 방법 문제해결 1. Application Level synchronized 사용 2. Database Database가 제공하는 lock을 사용 Pessimistic lock Optimistic lock ' named lock Redis Distribute lock 분산환경에서 레디스를 활용하여 charactermail.tistory.com https://charactermail.tistory.com/486 https://charactermail.tistory.com/436 2023. 1. 18.
디자인패턴 관련 url index 페이지 https://charactermail.tistory.com/423 전략 패턴(Strategy pattern) 1. 특정 메서드를 구현하고 상속을 하면, 이후에 해당 클래스를 상속받아 사용하는 클래스들에게 당연하게도 기능이 상속된다. 그럴 경우 상속받은 클래스는 구현된 기능과 어울리지 않는 속성 charactermail.tistory.com https://charactermail.tistory.com/449 템플릿 메서드 패턴 템플릿 메서드 패턴 : 부모 클래스에 변하지 않는 코드를 두고, 변하는 부분은 자식 클래스에서 상속과 오버라이딩을 사용해서 처리하는 패턴, 상속과 오버라이딩을 통한 다형성으로 문제를 해 charactermail.tistory.com https://charactermail.tisto.. 2023. 1. 18.
프록시, aop 등 url index 정리 https://charactermail.tistory.com/460 포인트컷, 어드바이스, 어드바이저 포인트컷(pointcut) : 부가 기능을 어디에 적용할지, 어디에 적용하지 않을지 판단하는 필터링 로직. 주로 클래스와 메서드 이름으로 필터링을 한다. 어드바이스(advice) : 프록시가 호출하는 부가 기 charactermail.tistory.com https://charactermail.tistory.com/457 jdk 동적 프록시, 리플렉션(reflection), CGLIB JDK 동적 프록시와 CGLIB(Code Generate Library) 차이 - CGLIB는 바이트코드를 조작해서 동적으로 클래스를 생성하는 기술을 제공하는 라이브러리 - 인터페이스가 있어야만 사용할 수 있는 JDK 동적.. 2023. 1. 17.