亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 開發 > Java > 正文

springboot Mongodb的集成與使用實例詳解

2024-07-14 08:40:19
字體:
來源:轉載
供稿:網友

說說springboot與大叔lind.ddd的淵源

Mongodb在Lind.DDD中被二次封裝過(大叔的.net和.net core),將它當成是一種倉儲來使用,對于開發人員來說只公開curd幾個標準的接口即可,而在springboot框架里,它與大叔lind有些類似之處,同樣是被二次封裝了,開發人員只需要關注自己的業務即可,而標準的curd操作完成由springboot幫助我們來實現,一般地,我們會設計一個與實體對象的接口倉儲,讓它去繼承mongo的標準接口,然后在springboot的依賴注入框架里把標準的實現注入進來,這一切都是框架幫助我們實現的!

在項目中實現mongodb

如果項目需要使用mongodb去持久化數據,一般可以經過下面幾個步驟來實現:

1 添加包依賴build.gradle

compile('org.springframework.boot:spring-boot-starter-data-mongodb')

如果有單元測試項目,可以使用內嵌的mongodb,這樣它不需要與外部資源進行通信,工作原理:從遠程下載mongodb包,啟動它,測試完成后刪除生成的集合

testCompile('de.flapdoodle.embed:de.flapdoodle.embed.mongo:2.0.3')

2 添加默認的配置項application.yml

spring: data:  mongodb:   uri: mongodb://192.168.99.100:27017/Test   password: guest   username: guest

3 添加mongodb集合對應的實體類

/** * 地址. */@Data@NoArgsConstructor@AllArgsConstructorpublic class Address { /**  * 編號.  */ @Id private String id; /**  * 省.  */ private String province; /**  * 市.  */ private String city; /**  * 區.  */ private String district; /**  * 狀態.  */ private Status status;}

4 添加實體所對應的倉庫類,它需要繼承extends標準的mongodb倉儲,同時Mongodb倉儲支持自動定約定的方法,開發人員可以通過@Query注釋來確定返回的字段列表,這對于大數據文檔是很必要的,如果默認的接口不能滿足我們的要求,我們需要定義個性化的接口,并去實現它,下面的例子中,我們的AddressExtRepository就是一個個性化接口,我們對外的接口AddressRepository 需要繼承它,注意,大叔認為這樣破獲了面向對象的開閉原則,元芳,你怎么看!

/** * 對外提供的地址倉儲接口,繼承所有地址相關的接口. */public interface AddressRepository extends  AddressExtRepository,  MongoRepository<Address, String> { /**  * 根據省,拿地址列表.  *  * @param province  * @return  */ @Query(fields = "{'province': 0}") List<Address> findAddressesByProvince(String province); /**  * 根據省和省,拿地址列表.  *  * @param province  * @param city  * @return  */ @Query()//fields表示包含的字段 List<Address> findAddressesByProvinceAndCityAndDistrict(String province, String city, String district);}

個性化倉儲實現,使用MongoTemplate對象與mongodb數據庫進行交互!

/** * 特殊規則的倉儲實現. */public class AddressExtRepositoryImpl implements AddressExtRepository { @Autowired MongoTemplate mongoTemplate; @Override public Address findByProvinceAndCity(String province, String city) {  Query query = new Query(Criteria.where("province").is(province).and("city").is(city));  return mongoTemplate.findOne(query, Address.class, "address"); }}

5 controller中直接通過@Autowired注解來訪問倉儲和業務對象即可

@RestControllerpublic class MongoController { // 倉儲. @Autowired private AddressRepository repository; // 用戶業務. @Autowired private UserService userService; /**  * 得到地址列表.  *  * @return  */ @RequestMapping("/address/{province}") public Address getAddress(@PathVariable("province") String province) {  System.out.println("1,province=" + province);  return userService.getAddress(province); }}

總結

以上所述是小編給大家介紹的springboot Mongodb的集成與使用實例詳解,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對VeVb武林網網站的支持!


注:相關教程知識閱讀請移步到JAVA教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
精品国产自在精品国产浪潮| 日韩视频在线观看免费| 欧美插天视频在线播放| 国产精品久久久久久久app| 日韩av在线精品| 亚洲欧美日韩久久久久久| 欧美黑人性猛交| 日本中文字幕不卡免费| 红桃av永久久久| 日韩久久免费电影| 自拍偷拍亚洲区| 成人性生交大片免费看视频直播| 久久久久久久久国产| 日韩成人中文电影| 亚洲男人天堂九九视频| 亚洲一区二区三区四区在线播放| 国产69久久精品成人| 成人免费视频网| 91在线观看免费观看| 欧美性xxxx在线播放| 国产v综合ⅴ日韩v欧美大片| 国产日韩欧美综合| 亚洲成人黄色在线| 欧美视频13p| 日韩a**站在线观看| 欧美丰满片xxx777| 精品国产网站地址| 亚洲欧洲在线看| 亚洲第一精品电影| 国产精品爽爽ⅴa在线观看| 中日韩美女免费视频网址在线观看| 亚洲男人天堂2019| 久久影院模特热| 亚洲精品国产精品国自产在线| 欧美激情高清视频| 日韩有码在线视频| 一区二区在线视频播放| 亚洲欧美自拍一区| 亚洲国产精久久久久久久| 正在播放国产一区| 欧美富婆性猛交| 国产97在线|日韩| 日韩亚洲国产中文字幕| 亚洲精品第一国产综合精品| 亚洲精品综合精品自拍| 亚洲国产欧美一区二区三区久久| 亚洲在线观看视频网站| 热久久99这里有精品| 亚洲国产精品99| 亚洲成人在线视频播放| 欧美国产日本在线| 国产999视频| 日本久久久久亚洲中字幕| 亚洲第一精品夜夜躁人人爽| 热久久视久久精品18亚洲精品| 亚洲无av在线中文字幕| 国产噜噜噜噜久久久久久久久| 国产精品视频一区二区三区四| 亚洲精品欧美日韩| 国产精品一香蕉国产线看观看| 欧美亚洲成人网| 亚洲欧美www| 国产精品福利久久久| 一本久久综合亚洲鲁鲁| 成人欧美一区二区三区在线| 色噜噜久久综合伊人一本| 久久久久久网址| 午夜精品美女自拍福到在线| 欧美亚洲激情在线| 亚洲日韩欧美视频一区| 欧美一级在线亚洲天堂| 欧美午夜激情视频| 欧美精品久久久久久久免费观看| 精品视频偷偷看在线观看| 原创国产精品91| 色伦专区97中文字幕| 一区二区三区视频免费在线观看| 国产精品一区=区| 亚洲aa在线观看| 久99九色视频在线观看| 欧美日韩在线看| 亚洲精品xxx| 日韩av男人的天堂| 国产一区在线播放| 九九热在线精品视频| 亚洲国产精品人人爽夜夜爽| 亚洲精品女av网站| 国产成人中文字幕| 欧美性videos高清精品| 亚洲人av在线影院| 国产91九色视频| 91丨九色丨国产在线| 亚洲激情第一页| 日本欧美精品在线| 亚洲精品一区二三区不卡| 国产日韩在线一区| 日韩毛片在线看| 中文字幕亚洲欧美一区二区三区| 亚洲成人在线网| 亚洲欧美一区二区激情| 久久久欧美一区二区| 久久亚洲综合国产精品99麻豆精品福利| 97视频在线观看亚洲| 国产精品久久久久久久久久ktv| 国产精品a久久久久久| 91香蕉亚洲精品| 久久精品国产v日韩v亚洲| 欧美日韩国产色| 久久久av亚洲男天堂| 日韩精品日韩在线观看| 亚洲成人在线网| 91av视频在线观看| 亚洲一区二区免费在线| 日韩日本欧美亚洲| 欧美日韩在线视频一区| 亚洲欧美日本精品| 精品福利视频导航| 亚洲成人av在线播放| 久久久久亚洲精品成人网小说| 日韩欧美亚洲国产一区| 欧美与欧洲交xxxx免费观看| 日韩在线www| 亚洲精品一区中文| 日韩最新av在线| 精品毛片三在线观看| 91精品久久久久| 久久中文精品视频| 久久亚洲一区二区三区四区五区高| 欧美激情按摩在线| 亚洲欧美一区二区三区四区| 一区三区二区视频| 久久综合久久八八| 久久99精品国产99久久6尤物| 4388成人网| 欧美精品videos| 国产精品嫩草影院一区二区| 亚洲白虎美女被爆操| 91老司机精品视频| 在线a欧美视频| 欧美日韩中文字幕综合视频| xxxx性欧美| 一级做a爰片久久毛片美女图片| 日韩欧美国产网站| 日韩精品视频免费专区在线播放| 亚洲激情视频在线观看| 亚洲无限av看| 欧美日韩亚洲视频| 国产精品私拍pans大尺度在线| 4k岛国日韩精品**专区| 国产精品对白刺激| 国产精品自产拍高潮在线观看| 日韩精品中文字幕视频在线| 日韩电影大全免费观看2023年上| 91精品国产99久久久久久| 欧美专区国产专区| 亚洲国产精品专区久久| 欧洲美女7788成人免费视频| 国产97在线亚洲| 国产小视频国产精品| 色婷婷av一区二区三区久久| 亚洲第一天堂无码专区| 国产精品福利在线观看| 欧美电影《睫毛膏》| 欧美成人精品激情在线观看|