[Spring Boot] 회원가입 Validation 처리하기
·
1.프로그래밍/Java
[Spring Boot] 회원가입 Validation 처리하기 현재 나의 첫 프로젝트를 진행 중, 회원가입 Validation 처리를 하고 싶었다. Validation 처리를 Javascript로 처리를 할까 생각도 들었지만, 전에 Javascript로 Validation을 처리 해 보았을 때 너무 노가다성이 짙고, 실수로 처리가 부족한 경우 submit 되버려 DB에 등록이 되는 경우도 생겼었다. 그렇기에 Spring Boot에 Validation 라이브러리가 있다는 걸 알고 한번 사용해 보기로 하였다. 내가 구현하고 싶은 것들은 단지 Empty일 때 그리고 Email 형식 Validation을 원했고 그렇게 사용 해보도록 하겠다. 그렇기에 이 글은 나처럼 처음 사용하는 사람이 따라하기에 적합할 것이다..
[Spring Boot] 스프링 이메일 이미지 전송
·
1.프로그래밍/Java
[Spring Boot] 스프링 이메일 이미지 전송 [Spring Boot] 스프링 이메일 전송 사용하기 (SMTP) 위의 링크는 필자가 이 전에 JavaMailSender을 이용하여 간단한 텍스트만 전송했던 글이다. 우선 필자가 위의 SMTP를 이용한 이메일 전송처리를 사용하는 이유는 아주 간단하다. 단지 회원가입시 이메일 인증을 위한 사용이다. 현재 해보고싶다고 생각이 든 첫 나만의 프로젝트를 진행하며 다시 JavaMailSender 을 이용하면서, 이미지 파일을 Mail Content에 넣어서 보내고 싶다는 생각을 하게 되어, 다시 공부하면서 코드를 다시 짜보았다. 그렇기에 기록의 용도로 작성한다. 기본적인 Spring Boot SMTP 사용은 위의 글에 정리해 놓았다. 참고 바란다. 이번 글은 위..
[Spring Boot] @Transactional 선언적 트랜잭션
·
1.프로그래밍/Java
[Spring Boot] @Transactional 선언적 트랜잭션 먼저 @Transactional을 사용하기에 앞서 Transaction 에 대해 궁금한 사람은 전에 글에 정리해 놨으니 참고 바란다. [DB] Transaction 이란? Transaction 에 대한 설명과 사용 상황에 대한것은 위에 작성해놨으므로 이 글에서는 생략하도록 하겠다. @Transactional Spring에서 지원하는 선언적 Transaction 으로, xml 혹은 Configuration 을 통해 설정 할 수 있다. Spring Boot 에서는 @Transactional 클래스 혹은 메서드 위에 해당 애노테이션을 선언하는 것으로 사용 할 수 있다. 하지만 수동으로 Configuration을 설정하고 싶은 분은 아래와 같이..
[DB] Transaction 이란?
·
1.프로그래밍/DB
[DB] Transaction 이란? Spring Boot을 공부하면서 @Transactional 선언적 트랜잭션에 대해 공부하고 사용하려고 했다. 그 전에 Transaction에 대한 개념부터 확실히 잡고가고 싶어 찾아보며 공부하고 정리하였다. Spring Boot의 @Transactional 선언적 트랜잭션에 대해서는 이 글 이후에 공부하고 글을 작성하겠다. Transaction 이란? 만약, 어떠한 결제 시스템을 만들었다고 가정을 해보자. 결제 시스템이 아니더라도 동시에 처리되는 시스템을 생각해도 된다 A라는 처리가 진행 된 후 B라는 처리가 진행되어야 된다고 생각을 해보았을 때, 둘다 개발자의 의도대로 진행된다면, 그건 매우 나이스 할것이다. 하지만, 만약의 경우와 사용자가 개발자의 의도에 벗어나..
[Mybatis] 생성한 키(PK) 리턴받기 두가지 방법(selectKey, useGeneratedKeys)
·
1.프로그래밍/DB
[Mybatis] 생성한 키(PK) 리턴받기 두가지 방법(selectKey, useGeneratedKeys) 한 테이블에 insert 할 때 그 PK 값을 Foreign Key로 다른 테이블을 매핑시켜 등록 시키고 싶은 경우가 있다. 예를 들면, 현재 나의 상황처럼 어떠한 상품에 이미지를 등록하는데 그 상품의 PK를 FK로 받아 동시에 DB에 넘겨주고 싶었다. 즉, 그렇게 하려면 생성된 PK를 바로 리턴받아 사용해야 했고 그렇기에 Mybatis의 selectKey, useGeneratedKeys 두 가지 방법을 알게 되었다. 현재 사용하고 있는 DB는 MySql이다. selectKey useGenratedKeys selecyKey selectKey 공식문서 MyBatis has another way to..
[Spring Boot] HttpEntiy, ResponseEntity 란?
·
1.프로그래밍/Java
[Spring Boot] HttpEntity, ResponseEntity 란? 공부를 하던 중 ResponseEntity 를 사용하게 되었다. 그런데 Controller에서 View에 정보를 전송할 때 Http status, header를 조작 할 수 있는 메서드를 제공한다고만 알고 사용했다. 하지만 어떠한 구조로 이루어져 있는지 궁금하기도 해서 ResponseEntity 상위 클래스에 HttpEntity 라는 클래스가 있다는 것을 알게 되었고, 두 클래스 역할과 쓰임세를 알아보려 하였다. HttpEntity HttpEntity 공식문서 public class HttpEntity extends Object Represents an HTTP request or response entity, consisti..
[Spring Boot] Thumbnail 이미지 만들기 (Thumbnailator, Gradle)
·
1.프로그래밍/Java
[Spring Boot] Thumbnail 이미지 만들기 (Thumbnailator, Gradle) 참고 블로그 VamPa 앞선 글에서 파일 업로드에 대해 작성하였다. 이미지 파일을 업로드시 미리 보여지는 이미지 즉, 썸네일은 필요하다. 그 이유는 하나의 페이지에 이미지가 한개라면 문제가 되지 않겠지만 만약 그 하나의 페이지에 수십만개의 이미지가 존재한다면 운영자의 입장에서는 많은 양의 트래픽으로 인해 서버 성능 저하, 많은 서버 비용이 발생 할 수 있고, 이용자의 입장에서는 긴 로딩 시간과 데이터 소모량이 증가하게 된다. 그렇기에 원본 이미지 파일보다 크기를 줄인 이미지를 보여주게 되면 이러한 문제가 해결 가능하다. 썸네일을 만드는 방법은 두가지로 BufferImage 된 이미지 객체를 Graphics..
[Spring Boot] MultipartResolver 파일 업로드 - 2 (Date 폴더 생성, UUID)
·
1.프로그래밍/Java
[Spring Boot] MultipartResolver 파일 업로드 - 2 (Date 폴더 생성, UUID) 참고 블로그 VamPa 한 폴더에 수만개의 파일이 업로드 되었다고 가정을 한다. 그렇다면 한 파일을 찾기위해 많은 파일들을 뒤져야 된다는 문제가 생긴다. 그래서 현제 날짜에 따라 폴더를 생성하고 그 이후 그 폴더에 저장하는 방식을 구현한다. 그리고 만약 동일한 이름의 파일이 저장될 경우 덮어버리는 방식을 방지하기 위해 UUID를 이용하여 파일 이름을 변경해준다. MultipartResolver 를 통한 간단한 파일 업로드 글은 전에 작성하였다. 이 글 또한 나의 공부, 정리 목적이므로 틀리거나 바뀐부분이 있을 수 있다. [Spring Boot] MultipartResolver 파일 업로드 - 1..
MyeongDev
'1.프로그래밍' 카테고리의 글 목록 (8 Page)