프로그래밍/Spring Boot (28) 썸네일형 리스트형 Spring Boot_@Transactional @Transactional : 트랜잭션(Transaction)은 데이터베이스에서 수행되는 작업의 단위를 의미한다. 즉, 데이터베이스에서 데이터 추가, 수정, 삭제 등의 작업을 수행할 때, 한 번에 실행되어야 하는 일련의 작업을 의미한다. 트랜잭션의 ACID 성질 : ACID는 원자성(Atomicity), 일관성(Consistency), 고립성(Isoation), 지속성(Durability)의 약어이다. 이 중 원자성은 트랜잭션이 성공하거나 실패할 때, '모든 작업들이 성공해야만 최종적으로 데이터베이스에 반영되도록 한다.'는 의미이다. SpringBoot에서는 트랜잭션을 처리하기 위해 @Transactional 어노테이션을 제공하여, 이 어노테이션을 사용하면 트랜잭션 범위 내에서 실행되는 모든 작업이 원자.. Spring Boot_MyBatis if문(동적 쿼리 생성) 사용하기 MyBatis if문 (동적 쿼리 생성) 사용하기 AccountController.java HTML 삽입 미리보기할 수 없는 소스 history.xml Spring Boot_ 시간 포맷 기능, 금액 단위 포맷 기능 시간 포맷, 금액 단위 포맷 utils 패키지 > TimestampUtil.java HTML 삽입 미리보기할 수 없는 소스 utils 패키지 > MoneyFormatUtil.java HTML 삽입 미리보기할 수 없는 소스 → static 메서드를 이용하여 dto에서 사용하기 Dto HTML 삽입 미리보기할 수 없는 소스 jsp 사용 예시 HTML 삽입 미리보기할 수 없는 소스 Spring Boot_파일 업로드, 리소스 처리 ResourceHandler 파일 업로드 기능 1. signUp.jsp 파일 업로드 기능 추가 2. dto 파일 수정 - MultipartFile file 에 대한 개념 3. Define.java 파일 최대 크기 설정 후 yml 파일 수정 1. signUp.jsp 코드 수정 (파일 업로드 기능 추가) signUp.jsp HTML 삽입 미리보기할 수 없는 소스 HTML 삽입 미리보기할 수 없는 소스 → enctype="multipart/form-data" 코드, 스크립트 코드 추가 2. dto 파일 수정 - MultipartFile file 에 대한 개념 SignUpFormDto.java HTML 삽입 미리보기할 수 없는 소스 → MultipartFile 선언하기 3. 파일 최대 크기 yml 파일 수정 Define.java HTML .. Spring Boot_javax.el.PropertyNotFoundException items = "${ }" 까먹지 않기 !!!!!!!!!!!!! Spring Boot_암호화 처리 Hash 기술을 이용한 암호화 처리 1. security에서 제공하는 암호화 클래스 사용 2. 회원가입 시 회원 비밀번호 암호화 처리 3. 로그인 시 암호화 된 비번 확인 기능 추가 및 수정 암호화 의존성 추가 implementation 'org.springframework.security:spring-security-crypto' MySQL 오류 확인 - ControllerAdvice 확인 DataIntergrityViolationException → 잘못된 데이터가 바인딩 되었을 때 발생하는 에러 암호화 테스트 HTML 삽입 미리보기할 수 없는 소스 WebMvcConfig 기능 추가 HTML 삽입 미리보기할 수 없는 소스 UserService 암호화 기능 추가 HTML 삽입 미리보기할 수 없는 소스 .. Spring Boot_마이그레이션(migration) H2 데이터베이스 → MySQL 데이터베이스 마이그레이션이란 ? : 데이터베이스 스키마의 변경 내역을 버전 관리하여, 변경에 대한 이력을 남기고, 데이터베이스를 이전 버전에서 최신 버전으로 옮기는 일련의 과정들을 의미한다. ( MySQL 데이터베이스를 사용한 것이 아닌 H2 데이터베이스를 사용했었음. ) → H2는 내부 DB(인메모리)로써 서버를 재시작하면 휘발성이기 때문에 DB서버가 꺼지면 모든 데이터가 유실된다. 하지만 MySQL 데이터베이스를 사용하면 서버가 꺼지더라도 데이터가 유실되지 않고 남아있다. 즉, 일반적으로 마이그레이션은 스키마를 변경하거나 새로운 테이블이나 컬럼을 추가하는 등의 작업을 포함하고 따라서 우리가 할 작업 H2 데이터베이스에서 MySQL로 변경할 때도 마이그레이션을 수행한다고 할 수 있다. 이러한 경우 데이터 스키마를 .. Spring Boot_예외 처리 기술 (Exception) 예외 처리 기술 (Exception) Exception 처리 @ControllerAdvice Global 예외처리 및 특정 package / Controller 예외처리 @ExceptionHandler 특정 Controller의 예외처리 응답으로 객체를 리턴해줘야 하기 때문에 @RestControllerAdvice를 예외처리 클래스에 꼭 적어줘야 한다. 사용자 지정 예외 처리 예제 CustomRestfullException.java HTML 삽입 미리보기할 수 없는 소스 → 유효성 검사를 할 때 예외를 던져주어 : throw new CustomRestfullException(message, status); 사용할 수 있다. MyRestfullExceptionHandler.java HTML 삽입 미리보기할.. 이전 1 2 3 4 다음