关于 spring 使用 mongodb 的 mongotemplate 对象操作数据库,对象注入问题(即该对象能否正常的调用相应的CRUD方法来处理数据)...
通過 spring 框架,直接調用一些處理對象的方法和數據庫交互, http 接口從 controller 層調用開始, 如果是:controller --> service --> dao --> entity 這個流程正常調用,則:
(1)controller1 --> service1 --> dao1 -->entity1?
(2)controller1 --> service2 --> dao2 -->entity2 (類推 3、4、5……都可以正常執行)
但是如果:
(3)controller1 --> controller2 --> service1 --> dao1 -->entity1?
(4)controller1 -->?controller2 --> service2 --> dao2 -->entity2
會產生:這種由于邏輯需要,需要先在同一 controller 層,先調用其它 controller 類(直接 new 該類處理一下數據),再回來執行自己實體類操作(或者其他實體類操作)的時候,這種情況下,controller2 里面的 mongotemplate 對象,這個時候是一個 null 對象,是不能正常調用該對象對應的操作數據庫的方法,來執行自己本身的邏輯的,也就是說,這個時候調用 controller2 類里面的方法,都是不能正常執行的!
解決方法:想要 controller2 在 controller1 里面調用能都正常執行,由于這時候,mongotemplate 在 controller2 中是 null 值,只要在 controller1 中把 mongotemplate 對象傳入給 controller2 中即可!(可以通過在 controller2 中添加構造方法,在 controller1 中 new controller2(MongoTemplate mongotemplate) 時候把 mongotemplate 對象傳入 controller2 ,即可解決該問題!)
【http 通過 controller 進來的 mongotemplate 對象才會注入 spring ,才能正常使用,如果是通過其他 controller 類來調用同層的 controller 里面的 mongotemplate ,則該對象是 null 值,不可使用 !而從 controller 調用 service 這種不同層的,則可以正常使用!】
轉載于:https://www.cnblogs.com/xuehuashanghe/p/10394029.html
總結
以上是生活随笔為你收集整理的关于 spring 使用 mongodb 的 mongotemplate 对象操作数据库,对象注入问题(即该对象能否正常的调用相应的CRUD方法来处理数据)...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: c语言多维数组基础知识,C语言基础第7章
- 下一篇: linux cmake编译源码,linu