본문 바로가기

개발 이론/Spring21

[Spring] Spring Boot와 데이터베이스 스프링 부트는 자동으로 내장 데이터베이스를 생성한다 build.gradle에 스프링 부트에 내장된 H2, HSQL,Derby 데이터베이스 의존성을 추가하면 자동으로 데이터베이스를 구성할 수 있다. 근데 만약 클래스 경로에 여러 내장 데이터베이스가 존재한다면 spring.datasource.embadded-database-connection 을 이용하여 어떤 데이터베이스를 사용할 것인지 선택할 수 있다. 만약 none으로 한다면 내장 데이터베이스 자동설정은 비활성화 된다 또한 spring.datasource.url 과 같이 특정 url 이 없다면 내장 데이터 베이스를 자동으로 생성한다 그렇다면 url 즉 내장 데이터베이스의 주소는 어떻게 되는 걸까?? 무작위로 결정된다 @SuppressWarnings("d.. 2023. 11. 7.
[Spring] SpringBoot 테스트에 테스트용 데이터베이스 연결 테스트 코드를 실행할때 실제 DB에 접근하는 경우가 있을 것이다. 이런 경우 메인 어플리케이션이 로드될때마다 테이블을 드롭하고 생성하는 경우가 아니면 이미 insert된 primary key를 다시 테스트해서 충돌발생 Auto increment key라면 @Trancsaction이나 delete로 지우더라도 key값은 증가 따라서 메인의 데이터베이스와 테스트의 데이터베이스 분리가 필요하다 application.yml 또는 application.properties 보통 application 파일에 데이터베이스 설정을 작성해주면 스프링부트가 자동으로 DataSrouce 빈으로 데이터베이스 정보를 등록해주어 사용할 수 있게 된다 그렇다면 테스트 데이터베이스는 어떻게 분리할까? 테스트는 인메모리로 간편하게 h2.. 2023. 11. 7.
[Spring]org.passy 사용하여 @Password validation Validation을 공부하다가 org.passy를 처음으로 접하게 되었다. 비밀번호 규칙을 강제하는 라이브러리이다. 비밀번호 검증과 관련하여 간편하게 유효성 검사를 수행할 수 있다 의존성추가 org.passay passay 1.6.4 커스텀 애노테이션 정의하기 위해 ConstraintValidator 구현하여 만들기 import org.passay.*; import javax.validation.ConstraintValidator; import javax.validation.ConstraintValidatorContext; import java.util.ArrayList; import java.util.List; public class PasswordRuleValidator implements Cons.. 2023. 11. 7.
728x90