Расскажите нам о происхождении Springboot и дяде Линд.Д.
MongoDB является вторичным инкапсулированным в lind.ddd (дядя .NET и .NET Core) и использует его в качестве своего рода репозитория. Для разработчиков вылечите только несколько стандартных интерфейсов. В рамках Springboot он несколько похож на Линд дяди, а также вторичный инкапсулирован. Разработчики должны только обращать внимание на свой собственный бизнес. Стандартная операция Courd завершена Springboot, чтобы помочь нам реализовать. Как правило, мы разработаем репозиторий интерфейса с объектами объекта, чтобы он мог унаследовать стандартный интерфейс Mongo, а затем внедрить стандартную реализацию в структуру впрыска зависимостей Springboot. Все это то, что фреймворк помогает нам реализовать!
Внедрить MongoDB в проекте
Если проект должен использовать MongoDB для постоянных данных, он может быть достигнут с помощью следующих шагов:
1 Добавить пакет зависимостей.
Compile ('org.springframework.boot: Spring-Boot-Starter-Data-Mongodb')Если есть модульный тестовый проект, вы можете использовать встроенный MongoDB, чтобы ему не нужно было общаться с внешними ресурсами. Как это работает: загрузите пакет MongoDB с удаленного, запустите его, удалите сгенерированную коллекцию после завершения теста
testcompile ('de.flapdoodle.embed: de.flapdoodle.embed.mongo: 2.0.3')2 Добавить элемент конфигурации по умолчанию.
Весна: данные: Mongodb: URI: MongoDB: //192.168.99.100: 27017/Пароль тестирования: гостья имя пользователя: гость
3ADD класс сущности, соответствующий коллекции MongoDB
/** * Адрес. * /@Data@noargscstructor@allargscstrontruprupublic class address { /*** Номер. */ @ID Private String ID; /*** Провинция. */ Private String Province; /** * Город. */ частный строковый город; /** * Округ. */ частный строковый район; /*** Статус. */ Статус частного статуса;}4 Добавьте класс репозитория, соответствующий сущности. Он должен унаследовать расширенный стандартный репозиторий MongoDB. В то же время репозиторий MongoDB поддерживает автоматические методы соглашения. Разработчики могут использовать аннотацию @Query для определения возвращенного поля, который очень необходим для документов больших данных. Если интерфейс по умолчанию не может соответствовать нашим требованиям, нам необходимо определить персональный интерфейс и реализовать его. В следующем примере наш адрес ardedExtrePository является персонализированным интерфейсом. Наш внешний интерфейс Addrepository должен унаследовать его. Обратите внимание, что дядя считает, что это взломало объектно-ориентированный принцип открытия и закрытия. Юань Фанг, что ты думаешь!
/*** Интерфейс склада адреса, предоставляемый внешним, наследуя все интерфейсы, связанные с адресом. * /public indredRepository Extrends AddersexTrepository, MongorePository <адрес, String> { /*** Получить список адресов на основе провинции. * * @param province * @return */ @query (fields = "{'провинция': 0}") list <address> findaddresssbyprovince (String Province); /*** Получить список адресов на основе провинции и провинции. * * @param Province * @param City * @return */@Query () // Fields указывает на поле, содержащееся в списке <address> findAddresssbyprovinceandDcityAndDistict (String Province, String City, String District);}Персонализированная реализация склада, используя объект Mongotemplate для взаимодействия с базой данных MongoDB!
/*** Репозиторий реализация специальных правил. */public class addrestextrepositoryImpl реализует addresextrepository {@autowired mongotemplate mongotemplate; @Override Public Adder findbyProvinceAndcity (String Province, String City) {Query Query = новый запрос (критерии. Где ("провинция"). IS (провинция). И ("Город"). IS (город)); return mongotemplate.findone (Query, address.class, "адрес"); }}5. В контроллере вы можете получить доступ к объектам хранения и бизнеса непосредственно через аннотацию @autowired.
@RestControllerPublic Class MongoController {// Repository. @Autowired Private AddrestereRepository Repository; // пользовательский бизнес. @Autowired private userservice userservice; /*** Получите список адресов. * * @return */@requestmapping ("/address/{province}") общедоступный адрес getAddress (@pathvariable ("province") String Province) {System.out.println ("1, Province =" + Province); return userservice.getAddress (провинция); }}Суммировать
Выше приведено подробное объяснение интеграции и примеров использования Springboot mongodb, представленного вам редактором. Я надеюсь, что это будет полезно для вас. Если у вас есть какие -либо вопросы, пожалуйста, оставьте мне сообщение, и редактор ответит вам вовремя. Большое спасибо за вашу поддержку сайту wulin.com!