亚洲香蕉成人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
欧美多人爱爱视频网站| 国产在线观看精品一区二区三区| 中文字幕av一区二区| 91精品国产综合久久香蕉的用户体验| 欧美日韩综合视频| 欧美成人免费在线视频| 欧美小视频在线| 一本色道久久综合狠狠躁篇怎么玩| 久久亚洲成人精品| 国内精品视频一区| 久久精品91久久香蕉加勒比| 91精品综合久久久久久五月天| 亚洲第一精品久久忘忧草社区| 伊人青青综合网站| 亚洲一区二区三区四区在线播放| 97在线视频免费看| 亚洲最大福利视频网| 国产精品电影一区| 亚洲自拍偷拍网址| 欧美在线视频一区| 国产精品视频午夜| 成人免费在线视频网站| 高清在线视频日韩欧美| 国产精品视频公开费视频| 揄拍成人国产精品视频| 欧美日韩一区二区精品| 国产精品一区二区久久精品| 国产成人91久久精品| 亚洲欧美成人在线| 日韩欧美国产黄色| 一区二区三区回区在观看免费视频| 国产成人精品日本亚洲专区61| 日韩女优人人人人射在线视频| 亚洲电影免费观看高清完整版在线观看| 国产99久久精品一区二区 夜夜躁日日躁| 亚洲精品国产精品久久清纯直播| 欧美成人午夜激情在线| 亚洲福利影片在线| 亚洲乱码国产乱码精品精| 亚洲最大成人网色| 亚洲自拍中文字幕| 精品国产拍在线观看| 亚洲国产精品高清久久久| 精品久久久91| 国产精品视频26uuu| 97精品国产97久久久久久春色| 国产欧美va欧美va香蕉在线| 久久精品国产一区二区电影| 亚洲娇小xxxx欧美娇小| 日韩美女免费观看| 欧美日韩色婷婷| 亚洲一区免费网站| 国产噜噜噜噜噜久久久久久久久| 欧美国产精品va在线观看| 日韩精品福利网站| 亚洲国产99精品国自产| 成人免费网视频| 日韩视频永久免费观看| 欧美俄罗斯乱妇| 中文字幕精品av| 国产91精品不卡视频| 国产综合视频在线观看| 国产精品视频一区二区高潮| 亚洲综合精品伊人久久| 国产精品成熟老女人| 久久成人一区二区| 深夜精品寂寞黄网站在线观看| 亚洲最大成人网色| 国产精品日韩欧美综合| 亚洲免费av网址| 菠萝蜜影院一区二区免费| 国产99久久久欧美黑人| 亚洲人成绝费网站色www| 日韩在线欧美在线国产在线| 国产精品白丝av嫩草影院| 国产精品久久久久91| 亚洲一区二区三区视频播放| 亚洲美女av黄| 欧美噜噜久久久xxx| 久久久这里只有精品视频| 久久综合免费视频| 国产+成+人+亚洲欧洲| 亚洲精品在线不卡| 精品美女久久久久久免费| 在线播放日韩精品| 国产在线视频欧美| 亚洲美女精品久久| 国产激情综合五月久久| 欧美激情欧美激情在线五月| 国产精品福利网| 91热福利电影| 久久久久久久久久久91| 2019中文字幕全在线观看| 亲爱的老师9免费观看全集电视剧| 亚洲色图美腿丝袜| 在线丨暗呦小u女国产精品| 国产成人精品久久| 尤物yw午夜国产精品视频| 在线观看久久久久久| 国产成人精品一区二区三区| 欧美成人性色生活仑片| 人九九综合九九宗合| 日本伊人精品一区二区三区介绍| 国产亚洲精品久久| 欧美性极品少妇精品网站| 久久久久免费视频| 伊人伊人伊人久久| 欧美视频不卡中文| 中文字幕不卡在线视频极品| 91久久久久久久一区二区| 国产色视频一区| 久久久久久一区二区三区| 欧美一区二区大胆人体摄影专业网站| 91精品在线观看视频| 亚洲人成人99网站| 日韩最新免费不卡| 国产日韩欧美电影在线观看| 日本一区二区三区在线播放| 亚洲午夜未满十八勿入免费观看全集| 久久成人这里只有精品| 中文字幕日韩高清| 免费91麻豆精品国产自产在线观看| 日韩欧美中文第一页| 国产成人短视频| 91在线视频免费| 国产欧美精品在线| 色青青草原桃花久久综合| 久久久久成人精品| 欧美www视频在线观看| 亚洲自拍偷拍福利| 国产精品扒开腿做爽爽爽视频| 亚洲一区二区久久久| 97久久伊人激情网| 国产精品视频最多的网站| 午夜精品久久久久久久99黑人| 97久久精品视频| 国产精品99久久久久久久久久久久| 亚洲剧情一区二区| 亚洲视频在线视频| 欧美激情中文字幕在线| 国产激情久久久| 国产精品美女av| 韩曰欧美视频免费观看| 亚洲福利小视频| 亚洲视频免费一区| 超碰91人人草人人干| 久久影院模特热| 欧美性色19p| 久热精品视频在线| 精品五月天久久| 色综合天天狠天天透天天伊人| 欧美性xxxxhd| 日本欧美在线视频| 亚洲国产精品一区二区久| 亚洲国产高清高潮精品美女| 亚洲精品成人久久电影| 色综合久久天天综线观看| 日本欧美一级片| 日韩精品在线视频| 国产一区二区三区在线观看视频| 亚洲成人网在线观看| 国产午夜精品理论片a级探花| 欧美午夜性色大片在线观看| 最近2019中文字幕在线高清|