[Spring] MultipartFile을 이용한 파일 업로드 및 수정, 삭제
·
스프링
MultipartFileMultipartFile는 Spring Framework에서 제공하는 인터페이스로써, 파일 업로드 기능을 위해 사용되며, 사용자가 업로드한 파일의 내용, 이름, 원래 이름, 내용 유형 등의 정보를 이 인터페이스를 통해 접근할 수 있다.  멀티파트 사용 옵션업로드 사이즈 제한spring.servlet.multipart.max-file-size=1MBspring.servlet.multipart.max-request-size=10MB사이즈를 넘으면 예외( SizeLimitExceededException )가 발생한다.max-file-size : 파일 하나의 최대 사이즈, 기본 1MBmax-request-size : 멀티파트 요청 하나에 여러 파일을 업로드 할 수 있는데, 그 전체 합이다..
[Spring] Bean Validation, BindingResult 적용하기
·
스프링
Bean Validation검증 기능을 매번 코드로 작성하는 것은 상당히 번거롭다. 예를 들어 특히 특정 필드에 대한 검증 로직은 대부분 빈 값인지 아닌지, 특정 크기를 넘는지 아닌지와 같이 사이즈를 측정한던가, 해당 값이 공백을 포함하고 있다던가 하는 매우 기본적인 검증방식이다. 이러한 것들이 웹 프로그래밍을 설계하는데 매우 자주 사용되고 중복되다보니 하나의 틀(Frame)이 만들어졌고, 해당 틀을 아예 스프링 프레임워크가 간단한 애노테이션으로 제공할 수 있도록 제공하게 되었다.  BindingResultBindingResult란 스프링이 제공하는 검증 오류 처리 보관하는 객체로써, Model에서 요청 데이터가 바인딩 될 때, 에러 발생 시 해당 에러에 대한 내용을 보관한다.BindingResult는..
[Spring] 6. 빈 스코프
·
스프링/스프링 핵심 기능
학습목차빈 스코프란?프로토타입 스코프프로토타입 스코프 - 싱글톤 빈과 함께 사용시 문제점 - Provider로 문제 해결웹 스코프request 스코프 예제 만들기스코프와 Provider스코프와 프록시 빈 스코프-> Scope : 스프링 빈은 스프링 컨테이너의 시작과 함께 생성되어서 스프링 컨테이너가 종료될 때 까지 유지된다. 이것은 스프링 빈이 기본적으로 싱글톤 스코프로 생성되기 때문이다. 여기서 스코프란 번역 그대로 범위를 뜻하는데 스프링 컨테이너에서 빈이 존재할 수 있는 범위를 뜻한다.  스프링이 지원하는 스코프의 종류싱글톤 : 기본 스코프로써, 스프링 컨테이너의 시작과 함께 종료될 때 까지 유지되는 가장 넓은 범위이다.프로토타입 : 스프링 컨테이너는 프로토타입 빈의 생성과 의존관계 주입까지만 즉 @..
[Spring] 5. 빈 생명주기 콜백
·
스프링/스프링 핵심 기능
목차빈 생명주기 콜백인터페이스 (InitializingBean, DisposableBean)빈 등록 초기화, 소멸 메서드 지정애노테이션 @PostConstruct, @PreDestroy서론콜백의 필요성자원 연결: 객체가 다른 외부 시스템이나 네트워크, 데이터베이스 등과의 연결을 필요로 하는 경우, 이 연결 과정을 초기화 시점에 수행할 수 있다. 밑에 예제인 NetworkClient 예에서는 connect 메서드를 통해 네트워크 연결을 설정한다.준비 작업 실행: 객체가 사용되기 전 필요한 준비 작업(예: 초기 데이터 로딩, 캐시 설정)을 수행할 수 있다.설정 검증: 모든 필수 속성이 제대로 설정되었는지 검증하고, 객체가 올바른 상태로 초기화되었는지 확인할 수 있다.소멸전 콜백의 필요성자원 해제: 열려 있는..
[Spring] 4. 의존관계 자동 주입
·
스프링/스프링 핵심 기능
목차다양한 의존관계 주입 방법옵션 처리롬복과 최신 트렌드(필드를 final로 선언해주고 @RequiredArgsConstructor를 사용한다)조회 빈이 2개이상 - 문제@Autowired 필드 명, @Qualifier, @Primary 애노테이션애노테이션 직접 만들기조회한 빈이 모두 필요할 때, List, Map자동, 수동의 올바른 실무 운영 기준 다양한 의존관계 주입 방법의존관계 주입은 크게 3가지가 있다.생성자 주입setter 주입필드 주입 생성자 주입생성자 주입은 이름 그대로 생성자 메서드를 통해 의존 관계를 주입 받는 방식이다.생성자 주입 방식의 특징으로는 호출 시점에 딱 1번만 호출되는 것이 보장된다는 것이다.이를 잘 활용하면 생성자 주입 방식은 불변을 보장한다는 것인데, 불변이란 중간에 데이..
[Spring] 3. 컴포넌트 스캔
·
스프링/스프링 핵심 기능
목차의존관계 자동 주입과 컴포넌트 스캔탐색위치와 기본 스캔 대상필터중복 등록과 충돌 컴포넌트 스캔과 의존관계 자동 주입-> 스프링에서 의존관계를 주입받기 위해서는 2가지가 존재한다. @Configuration 클래스를 정한 뒤 @Bean 애노테이션을 등록해주거나 XML의 등을 통해서 설정 정보에 직접 등록할 빈을 나열 하는 수동 등록 방식과, 설정 정보가 없이도 자동으로 스프링 빈을 등록해주는 ComponentScan 이라는 기능과 의존관계를 자동으로 주입해주는 Autowired 기능을 제공한다. 컴포넌트 스캔컴포넌트 스캔이란.... @Component애노테이션이 붙은 클래스를 자동으로 모두 스캔해서 스프링 빈으로 등록하는 기능이다.그래서 스프링은 설정 정보가 없어도 자동으로 스프링의 빈으로 등록하는 컴..
[Spring] 2.스프링의 싱글톤 컨테이너
·
스프링/스프링 핵심 기능
(스프링의 싱글톤 빈이 동시요청을 처리하는 방법 ) https://leezzangmin.tistory.com/41?category=993028 -> 해당 게시글은 멀티스레드 환경에서 스프링의 싱글톤이 어떻게 내부에서 작동하는지 쉽게 설명되어있어서 가져왔습니다.   목차스프링이 싱글톤을 지원하는 이유싱글톤 패턴, 그리고 문제점스프링 싱글톤 컨테이너만능은 아니다... 싱글톤 방식의 주의점스프링이 싱글톤을 보장하는 방법(Configuration)  스프링이 싱글톤을 지원하는 이유 스프링은 기업용 온라인 서비스 기술을 개발자가 보다 효율적이고 생산적으로 관리할 수 있게끔 나온 프레임워크이다.이러한 온라인 서비스 생태계에서는 보통 여러 고객이 동시에 요청을 수행하게 되는데, 고객의 요청이 올 때마다 객체를 생성하..
[Spring]1. 스프링 컨테이너와 스프링 빈(빈 등록 및 조회하기), BeanDefinition
·
스프링/스프링 핵심 기능
목차의존관계 주입(DI)스프링 컨테이너빈 등록 및 조회다양한 설정 형식 지원BeanDefinition 의존관계 주입이란의존관계 주입이란 애플리케이션이 실행 시점 (런타임) 에 외부에서 실제 구현 객체를 생성하고 클라이언트에 전달해서 서버와 클라이언트가 연결되는 것.객체의 인스턴스를 생성하고, 그 참조값을 넘김으로써 연결되며, 의존관계 주입을 사용하면 클라이언트 코드를 변경하지 않고, 클라이언트가 호출하는 (요청하는) 타입 인스턴스를 동적으로 변경할 수 있다는 것.그리고 이러한 작업을 IoC 컨테이너(DI 컨테이너)가 해준다. Spring의 의존관계 사용하기@Configuration public class AppConfig { 빈 등록 @Bean public TestInt crea..
cheolhyeon
'Spring' 태그의 글 목록 (2 Page)