도메인 필드의 유효성 검증(validation)을 할 때 가장 좋은 방법은 각 필드에 대한 검증을 한 곳에서 관리하는 거야.이를 위해 3가지 방법을 고려할 수 있어:DTO 레벨에서 @Valid 어노테이션을 활용한 검증 (Spring Validation)Value Object를 활용하여 검증 로직을 캡슐화User 엔티티 생성 시, 생성자 내부에서 검증 실행User 도메인을 예로 들어서 설명해볼게.✅ 1. DTO 레벨에서 @Valid 어노테이션 활용가장 일반적인 방식으로, Spring의 @Valid 및 @NotBlank, @Size, @Email 등을 활용하는 방법이야.📌 DTO에서 유효성 검증 import jakarta.validation.constraints.*;@Getterpublic class Us..
Spring Data JPA에서 Page 객체는 페이징 처리된 결과를 담는 객체로, 조회된 데이터 리스트와 페이징 관련 정보를 함께 제공합니다.1. Page 객체의 주요 기능✅ 페이징된 데이터 목록 저장Page는 조회된 엔티티 리스트를 가지고 있으며, 이를 List처럼 사용할 수 있습니다.✅ 전체 페이지 및 항목 개수 정보 제공전체 데이터 개수전체 페이지 수현재 페이지 번호페이지 크기다음 페이지, 이전 페이지 여부✅ 페이징 정보와 함께 결과 반환Page는 단순 리스트가 아니라 총 개수와 페이지 정보까지 포함되어 있어, 페이징 UI 구현에 유용합니다.2. Page 객체 사용법📌 페이징 조회 메서드Spring Data JPA의 JpaRepository를 사용하면, 간단하게 Page를 반환하는 페이징 조회를..
mariaDB랑 spring이랑 연결하다가 "org.hibernate.resource.transaction.backend.jdbc.internal.JdbcIsolationDelegate.sqlExceptionHelper()" is null에러가 났다. 각각의 컴퓨터에서 mariaDB에 연결할 때 나는 오류로, 컴퓨터마다 세팅이 다르기 때문에 발생한다는 글을 발견했다.https://perfect-dev.tistory.com/38 [Spring Boot] Caused by: org.hibernate.service.spi.ServiceException:Error Message: Caused by: org.hibernate.service.spi.ServiceException: Unable to create re..
1. 전원 인가 및 기본 하드웨어 초기화전원 인가: 컴퓨터 전원이 켜집니다.BIOS/UEFI 부팅: 시스템이 시작되면 BIOS 또는 UEFI가 실행되어 하드웨어 초기화 및 POST(Post Power-On Self Test)를 실행합니다. * POST하드웨어가 정상적인지 확인한다. 컴퓨터가 전원이 켜진 직후에 자동으로 실행되는 하드웨어 진단 프로세스.기본하드웨어(메인보드, CPU, RAM, 그래픽, NIC등) 구성요소 테스트부팅장치 검사(컴퓨터가 부팅할 수 있는 장치들 USB, CD_ROM...),하드웨어 설정확인 (BIOS, UEFI설정에 따라) : 클럭속도, 전원관리, 부팅순서 등.오류가 있는 경우 피크쳐 (Power On Self Test Error) 코드로 오류메시지 표시* BIOS(Basic I..
오류상황 vite로 React프로젝트 빌드 후 실행했더니 css파일을 못찾으며 아래와 같은 오류가 났다. Failed to load module script: Expected a JavaScript module script but the server responded with a MIME type of "text/html". Strict MIME type checking is enforced for module scripts per HTML spec. 해결법 config의 상대경로를 절대경로로 바꾼다. { "compilerOptions": { "baseUrl": "./", //"." "paths": { "@/*": [ "src/*" ] } } } 원인 vite 는 html파일을 dist폴더로부터 abso..
기본적으로 src/main/webapp이 root로 설정되어있다. 이러한 구조일때 프로젝트에 context-path가 있다면 /context/js/login/login.js로 접근할 수 있다. 주의할점은 /로 시작하면, /js/login/login.js로 잡힌다. /없이 상대경로로 해줘야 /context/login/login.js로 잡힌다.
과거에는 Srping에 xml형식으로 모든 설정을 했다. 현재는 Annotation방식(@)으로 바뀌지만, 여전히 xml로 설정이 가능하다. 레거시 프로젝트를(spring 4 기준) xml형식으로 만들어보면서 spring에 대해 더 깊게 알아보자. xml은 일반적으로 크게 이런식으로 나눈다. 1. web.xml 2. dispatcher-servlet 3. context-*.xml 위의 3가지는 용도에 따라 나눠둔 것일 뿐 모두 그냥 bean을 등록하는 행위이다. 파일의 시작은 web.xml이다. spring에 기본적으로 webapp/WEB-INF아래의 web.xml을 먼저 보도록 되어있다. 그냥 용도에 따라 나눈 것 뿐이므로 이름을 바꿔도 된다. dispatcher-servlet.xml은 dispatch..