مقدمة
ينصب تركيز هذه المقالة على دمج MongoDB والربيع في المشروع ، واكتشاف المشكلات في الممارسة ، وتتبع المشكلات ، ثم حل المشكلات. لن أقول الكثير أدناه ، دعنا نلقي نظرة على المقدمة التفصيلية معًا.
1. التحضير
2. الخصائص
3. حزمة التبعية
<Rependency> <roupeD> org.springframework.data </rougiD> <intifactid> spring-data-mongodb </shintifactid> <الإصدار> 1.5.0. <splect> 1.5.10 </version> </premency>
التبعيات ذات الصلة الربيع
<!-التبعيات المتعلقة بـ Spring Web-> <redence> <roupiD> org.springframework </rougeid> <ChintifactId> Spring-Web </triciD> <splement> $ {Spring.Version} </versiD> </spensidency> <sperency> <croupid> org.springframework </groupid> <sophy> 3.1.2.release </version> </rementency> <!-تبعيات اختبار الربيع-> <reperence> <roupiD> org.springframework </rougeid> <StifactId> اختبار الربيع </artifactid> <soph>4. دمج mongodb
[ملاحظة: يرجى الرجوع إلى مقالتي حول إضافة إدارة الإذن في MongoDB: تمكين مصادقة الإذن في MongDB]
mongodb.properties
mongo.hostport = 172.16.4.166: 27017mongo.dbname = ad_api_countmongo.username = hehaitaomongo.password = hehaitao mongo.connectionsperhost = 8mongo.ThreadsallowdToBlockForConnectionMultiplier = 4#/u8fde/u63a5/u8d85/u65f6/ U65f6/u95f4mongo.connecttimeout = 1000#/u7b49/u5f85/u65f6/u95f4mongo.maxwaittime = 1500mongo.autoconnectretr y = truemongo.socketkeepalive = true#socket/u8d85/u65f6/u65f6/u95f4mongo.sockettimeout = 1500mongo.slaveok = true
mongodb.xml
<؟ Xmlns: Context = "http://www.springframework.org/schema/context" xmlns: mongo = "http://www.springframework.org/schema/data/mongo" XSI: schemalocation = "http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.springframeworg http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd "> <!-تحميل ملف تكوين الخصائص لـ mongodb-> <contex Mongo في حزمة الجرة الرسمية من Mongodb. قم بتعيين عنوان IP ومنفذ الكتلة المتماثلة-> <mongo: mongo id = "mongo" Replica-set = "$ {mongo.hostport}"> <mongo: خيارات connection-per-host = "$ {mongo.connectionsperhost}" Threads-tallowed-to-block-for-connection-multiplier = "$ {mongo.ThreadsallOllOckedToBlockOrnectionMultiplier}" connect timeout = "$ {mongo.connecttimeOut}" max-wait = "$ {mongo.maxwaittime}" auto-connect-reconnect- "$ {mongoaiT} Socket-keep-alive = "$ {mongo.socketkeepalive}" socket-timeout = "$ {mongo.sockettimeout}" slave-ook = "$ {mongo.slaveok}" write-number = "1" write = "0 id = "mgfactory" dbname = "$ {mongo.dbname}" username = "$ {mongo.username}" password = "$ {mongo.password}" mongo-ref = "mongo" /> <bean id = </bean> </bans>الربيع contex.xml
<؟ xmlns: tx = "http://www.springframework.org/schema/tx" Xmlns: XSI = "http://www.w3.org/2001/xmlschema-instance" http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://www.springframework.org/schema/tx http: http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/Aop http://www.springframework.org/schema/task/spring-task-3.1.xsd "> <aOP: sidej-autopproxy proxy-target-class =" true "/> base-package = "com.lutong.cps"> <context: Exclude-filter type = "enrotation" expression = "org.springframework.stereType.Controller"/> </contex
5. تنفيذ الكود
التنفيذ الأساسي لـ Mongodbservice
/** * اسم الملف: mongodbservice.java * الحزمة: com.lutongnet.ad.service * الوصف: TODO * المؤلف: Zhangfj * التاريخ: 2012-11-29 * الإصدار: v1.0 */package com.lutong.cps.schedule.service.fj ؛ استيراد org.springframework.Application ؛ org.springframework.context.support.classpathmlapplicationContext ؛ استيراد org.springframework.data.mongodb.core.mongotemplate Author Zhangfj * */ @service ("mongodbservice") الفئة العامة mongodbservice {/ * @resource (name = "mongotemplate") محمية mongotemplate mongotemplate ؛ *//** * Quary Query * param entityclass * regist context = جديد classPathxMlapplicationContext ("mongodb.xml") ؛ mongotemplate mongotemplate = (mongotemplate) context.getBean ("mongotemplate") ؛ // يمكنك الاتصال مباشرة بـ mongotemplate.findone (Query ، entityClass) ؛ }}ورث فئة userAdCountService
/** * اسم الملف: userAdCountService.java * الحزمة: com.lutongnet.ad.service * الوصف: ToDo * المؤلف: Zhangfj * التاريخ: 2012-11-29 * الإصدار: v1.0 */package com.lutong.cps.schedule.service.fj ؛ import org.springframebring org.springframework.data.mongodb.core.query mongodbservice { / ** * احصل على عدد من مشاهدات إعلان واحد ، وإذا لم يكن بالإمكان الاستعلام عنه ، فسيتم إرجاع 0 * * param adcode * regurn int * / public int getUserAdCount (userAdCount adcode) {معايير المعايير = المعايير الجديدة () ؛ المعايير. استعلام الاستعلام = استعلام جديد (معايير) ؛ userAdCount result = findone (Query ، userAdCount.Class) ؛ if (null! = result) {return result.getTimesCount () ؛ } العودة 0 ؛ }}كيان فئة userAdCount
package com.lutong.cps.schedule.entity ؛ استيراد java.util.date ؛ استيراد org.springframework.data.annotation.persistenceconstructor ؛ استيراد org.springframework * */@document (collection = "userAdCount") userAdCount {private int timescount ؛ / *** حساب المستخدم*/ سلسلة خاصة userad ؛ سلسلة خاصة adcode. Countdate سلسلة خاصة. تاريخ خاص انتهاء الصلاحية ؛ persistenceconstructor public userAdCount (int timescount ، string userad ، string adcode ، string countdate ، date Expireat) {this.timescount = timeCount ؛ this.userad = userad ؛ this.adcode = adcode ؛ this.countdate = countDate ؛ this.expireAt = انتهاء الصلاحية ؛ } userAdCount العامة (String userAd ، String AdCode ، string countDate) {this.userad = userAd ؛ this.adcode = adcode ؛ this.countdate = countDate ؛ } userAdCount العامة (String userad ، string adcode ، string countdate ، date Expireat) {this.userad = userad ؛ this.adcode = adcode ؛ this.countdate = countDate ؛ this.expireAt = انتهاء الصلاحية ؛ } userAdCount (string countDate) {this.countDate = countDate ؛ } public int getTimesCount () {return timescount ؛ } public void SetimesCount (int timescount) {this.timescount = timeCount ؛ } السلسلة العامة getUserad () {return userad ؛ } public void setUserad (string userad) {this.userad = userad ؛ } السلسلة العامة getAdCode () {return adcode ؛ } public void setAdCode (string adcode) {this.adcode = adCode ؛ } السلسلة العامة getCountDate () {return countDate ؛ } public void setCountDate (string countDate) {this.countDate = countDate ؛ } التاريخ العام getExpireAt () {return Expireat ؛ } public void setExpireAt (تاريخ انتهاء الصلاحية) {this.expireAt = ExpiReat ؛ }}أخيرًا ، اكتب فئة اختبار لاختبارها
استيراد java.util.list ؛ استيراد javax.annotation.resource ؛ استيراد org.junit.test ؛ استيراد org.junit.runner.runwith ؛ استيراد org.springframework.test.context.contextConfiguration ؛ import org.springframework.test.context.springjunt4. com.acts.web.modules.mark.model.users ؛ استيراد com.lutong.cps.schedule.service.fj.userAdcountService ؛@contextConfiguration ({"classpath: spring-context.xml" ، "classpath: mongodb.xml"}) {resource (name = "userAdCountService") userAdCountService userAdCountService ؛ Test public void testdao () {try {userAdCount userAdCount = new userAdCount ("hehaitao" ، "pos001" ، dateTime.Now (). int count = userAdCountService .getuserAdCount (userAdCount) ؛ system.out.println (count) ؛ } catch (استثناء e) {E.PrintStackTrace () ؛ }}}لخص
ما سبق هو المحتوى الكامل لهذه المقالة. آمل أن يكون لمحتوى هذه المقالة قيمة مرجعية معينة لدراسة أو عمل الجميع. إذا كان لديك أي أسئلة ، فيمكنك ترك رسالة للتواصل. شكرا لك على دعمك إلى wulin.com.