스프링부트 3

Spring Boot 프로젝트 외부 경로 파일 접근하기 addResourceHandlers

Spring Boot 프로젝트 외부 경로에 있는 파일 접근하기 addResourceHandlers 실서버에서 배포하여 실행중인 웹 애플리케이션 상에서 웹 사이트에 접속하여 파일 및 이미지 업로드를 실시할 때, 이미지 업로드 경로를 웹 애플리케이션 내부로 설정할 경우 새로 웹 애플리케이션을 배포할 시 실행 중에 추가했던 이미지 파일들이 삭제되는 현상이 발생합니다. 스프링 부트 프로젝트 실행 시 따로 서버를 설정하지 않은 경우 spring boot 내부 톰캣 서버가 작동되는데, 이 서버가 실행되면서 /tmp 폴더 아래에 해당 서버에 대한 데이터를 하나의 폴더로 저장했습니다. 그리고 새로 구동할 때마다 새로운 폴더를 만들어서 이전에 구동했던 데이터가 담긴 폴더는 무시되고 새로 생성된 폴더에서만 해당 서버의 데..

@Component 와 @Bean, @Autowired 어노테이션 알아보기

자주 사용하면서도 정확하게 무슨 용도로 사용되는지, 어떤 동작 원리를 가지는지, 어떤 차이가 있는지 잘 몰랐던 부분에 대해서 공부합니다. 먼저 Annotation에 대해서 간단하게 알아보겠습니다. Annotation은 Java 5부터 추가된 문법 요소로, 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술입니다. 실제 데이터가 아닌 데이터를 위한 데이터로 메타데이터 (meta data)로 불립니다. 어노테이션의 용도 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보 제공 소프트웨어 개발 툴이 빌드나 배치 시 코드를 자동으로 생성할 수 있도록 정보 제공 실행 시 (런타임) 특정 기능을 실행하도록 정보 제공 어노테이션을 사용하기 위한 순서 어노테이션 정의 클래스에 어노테이션 배치 코드가..

Spring Boot Validation 적용하는 법, @Valid 작동 안되는 이유

* @Valid 어노테이션이 작동이 안 한다면? spring boot 2.3 version 이상부터는 spring-boot-starter-web 의존성 내부에 있던 validation이 사라졌습니다. 때문에 사용하시는 spring boot version이 2.3 이상이라면 validation 의존성을 따로 추가해주셔야 사용할 수 있습니다. Spring Boot Validation 적용하는 방법 - Validation을 사용하기 위해 먼저 의존성을 추가합니다. // https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-validation implementation group: 'org.springframework.bo..