Springboot의 기원과 Lind.ddd의 기원에 대해 알려주세요.
MongoDB는 Lind.ddd (Uncle 's .NET 및 .NET Core)에 2 차 캡슐화되어 있으며이를 일종의 리포지토리로 사용합니다. 개발자의 경우 몇 가지 표준 인터페이스 만 치료하십시오. Springboot 프레임 워크에서는 Uncle 's Lind와 다소 유사하며 보조 캡슐화됩니다. 개발자는 자신의 비즈니스에만주의를 기울여야합니다. 표준 커드 작업은 SpringBoot에 의해 완료되어 구현에 도움이됩니다. 일반적으로 엔티티 객체가있는 인터페이스 리포지토리를 설계하여 몽고의 표준 인터페이스를 상속받은 다음 표준 구현을 스프링 부츠 종속성 분사 프레임 워크에 주입합니다. 이 모든 것이 프레임 워크가 우리가 구현하는 데 도움이되는 것입니다!
프로젝트에서 MongoDB를 구현하십시오
프로젝트가 MongoDB를 사용하여 데이터를 유지 해야하는 경우 일반적으로 다음 단계를 통해 달성 할 수 있습니다.
1 패키지 의존성 빌드를 추가합니다. Gradle
컴파일 ( 'org.springframework.boot : Spring-Boot-Starter-Data-MongoDB'))))
단위 테스트 프로젝트가있는 경우 내장 MongoDB를 사용하여 외부 리소스와 통신 할 필요가 없습니다. 작동 방식 : 원격으로 MongoDB 패키지를 다운로드하고 시작하고 테스트가 완료된 후 생성 된 컬렉션을 삭제하십시오.
TestCompile ( 'de.flapdoodle.embed : de.flapdoodle.embed.mongo : 2.0.3')
2 기본 구성 항목 application.yml을 추가하십시오
스프링 : 데이터 : MongoDB : URI : MongoDB : //192.168.99.100 : 27017/테스트 비밀번호 : 게스트 사용자 이름 : 게스트
3ADD MongoDB 컬렉션에 해당하는 엔티티 클래스
/** * 주소. * /@data@noargsconstructor@AllargsConstructorPublic 클래스 주소 { /*** 숫자. */ @id 개인 문자열 ID; /** * 주. */ 개인 문자열 주; /** * 도시. */ 개인 문자열 도시; /** * 구역. */ 개인 문자열 지구; /** * 상태. */ 개인 상태 상태;}4 엔티티에 해당하는 저장소 클래스를 추가하십시오. 확장 된 표준 MongoDB 저장소를 상속해야합니다. 동시에 MongoDB 리포지토리는 자동 컨벤션 방법을 지원합니다. 개발자는 @Query 주석을 사용하여 반환 된 필드 목록을 결정할 수 있으며, 이는 빅 데이터 문서에 매우 필요합니다. 기본 인터페이스가 요구 사항을 충족 할 수없는 경우 개인화 된 인터페이스를 정의하고 구현해야합니다. 다음 예제에서, 우리의 주소 extrepository는 개인화 된 인터페이스입니다. 우리의 외부 인터페이스 주소는 그것을 상속해야합니다. 삼촌은 이것이 객체 지향 개방 및 폐쇄 원리를 깨뜨렸다 고 믿는다. Yuan Fang, 당신은 어떻게 생각하십니까!
/*** 외부에 제공된 주소 창고 인터페이스로 모든 주소 관련 인터페이스를 상속합니다. * /public interface addressRepository 확장 주소 extrepository, mongorepository <address, string> { /*** 주를 기준으로 주소 목록을 가져옵니다. * * @param province * @return */ @Query (fields = "{ 'province': 0}") List <dassch> findAddressesbyProvince (String Province); /*** 주와 지방을 기준으로 주소 목록을 받으십시오. * * @param province * @param city * @return */@Query () // 필드는 목록에 포함 된 필드를 나타냅니다.MongoTemplate 객체를 사용하여 MongoDB 데이터베이스와 상호 작용하는 개인화 된 창고 구현!
/*** 특별 규칙의 저장소 구현. */public class addressExtrepOsorityImpl 구현 주소 extrepository {@autowized mongotemplate mongotemplate; @override public address findByProvinCeAndCity (String Province, String City) {query query = new query (riteria.where ( "province"). is (province). 및 ( "City")); Mongotemplate.Findone (Query, address.class, "address"); }}5. 컨트롤러에서 @autowired 주석을 통해 직접 스토리지 및 비즈니스 객체에 액세스 할 수 있습니다.
@RestControllerPublic 클래스 MongoconTroller {// repository. @autowired Private AddressRepository 저장소; // 사용자 비즈니스. @autowired private userervice userservice; /*** 주소 목록을 가져옵니다. * * @return */@RequestMapping ( "/address/{province}") 공개 주소 getAddress (@PathVarible ( "Pathince") String Province) {System.out.println ( "1, province =" + province); return userervice.getAddress (주); }}요약
위의 것은 편집자가 소개 한 SpringBoot Mongodb의 통합 및 사용 예에 대한 자세한 설명입니다. 나는 그것이 당신에게 도움이되기를 바랍니다. 궁금한 점이 있으면 메시지를 남겨 주시면 편집자가 제 시간에 답장을 드리겠습니다. Wulin.com 웹 사이트를 지원해 주셔서 대단히 감사합니다!