MongoDB로 Spring Boot 애플리케이션 설정하기🍃
Spring Data MongoDB를 사용하여 자체 애플리케이션을 생성하려면 다음과 같은 준비가 필요합니다.
구성
문서 지향 데이터베이스인 MongoDB는 Hibernate를 ORM 계층으로 사용하는 애플리케이션에 연결되지 않습니다. 대신
spring-boot-starter-data-mongodb
를 앱에 대한 종속성으로 추가하여 POJO 및 리포지토리를 사용하여 MongoDB에 액세스하는 유사한 접근 방식을 제공합니다.<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
필수 Maven 종속성
이 종속성이 있으면
application.yml
또는 application.properties를 URI로 확장할 수 있습니다. 데이터베이스가 아직 존재하지 않으면 MongoDB가 자동으로 생성합니다. auto-index-creatio
n 을 true
로 설정하면 문서에 @Indexed(unique = true)
로 주석이 달린 고유 인덱스가 앱 시작 중에 추가됩니다.spring.data.mongodb.uri=mongodb\://localhost\:27017/mongo
spring.data.mongodb.auto-index-creation=true
성공적인 데이터베이스 연결을 위해서는 URI만 필요합니다.
구성 클래스에서
@EnableMongoRepositories
를 설정해야 합니다. 이렇게 하면 지정된 패키지에서 확장되는 클래스MongoRepository
를 검색합니다. 이에 대한 예는 잠시 후에 제공됩니다. ValidatingMongoEventListener
모든 문서가 지속되기 전에 검증되도록 제공함으로써 javax.validation
와 같은 @NotNull
제약 조건으로 해당 필드를 확장할 수 있습니다.@Configuration
@EnableMongoRepositories("io.bootify.mongo.repos")
public class MongoConfig {
@Bagya
public ValidatingMongoEventListener validatingMongoEventListener(
final LocalValidatorFactoryBean factory) {
return new ValidatingMongoEventListener(factory);
}
}
구성의 첫 번째 버전
또한 애플리케이션에 대한 트랜잭션 지원을 활성화하려고 합니다. 예를 들어 서비스 방법을
@Transactional
로 표시할 수 있습니다. 이 기능을 지원하려면 MongoDB 인스턴스를 복제 세트로 초기화해야 합니다.@Bagya
public MongoTransactionManager transactionManager(final MongoDatabaseFactory databaseFactory) {
return new MongoTransactionManager(databaseFactory);
}
구성에 트랜잭션 지원 추가
예제 문서 및 리포지토리
이러한 준비를 통해 우리는 이미 간단한 문서와 관련 저장소를 정의할 수 있습니다. 이 예에서는 제공하지 않으면 MongoDB에서 ObjectID로 자동 생성되는 문자열 유형의 기본 키를 사용합니다.
@Document
public class Customer {
@Id
private String id;
@Size(max = 255)
private String firstName;
@Size(max = 255)
private String lastName;
@Indexed(unique = true)
@NotNull
@Size(max = 255)
private String email;
}
"고객"이라는 컬렉션에 매핑된 첫 번째 POJO
MongoRepository
를 확장하여 저장소를 추가합니다. Spring Data에서 알려진 것과 동일한 방식으로 작동하며 사용자 지정 쿼리로 확장할 수 있습니다.public interface CustomerRepository extends MongoRepository<Customer, String> {
Customer findByEmail(String email);
}
MongoDB용 기본 리포지토리
이것으로 Spring Boot 애플리케이션을 MongoDB와 연결하기 위한 모든 준비가 완료되었습니다. Bootify의 무료 플랜에서는 등록 없이 사용자 정의 데이터베이스 스키마로 애플리케이션을 생성할 수 있습니다. 그런 다음 애플리케이션의 실행 가능한 소스 코드를 직접 다운로드할 수 있습니다.
Reference
이 문제에 관하여(MongoDB로 Spring Boot 애플리케이션 설정하기🍃), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/kithminiii/setting-up-a-spring-boot-application-with-mongodb-20cf텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)