Vorwort
Der Schwerpunkt dieses Artikels liegt auf der Integration von MongoDB und dem Spring in das Projekt, entdeckt Probleme in der Praxis, verfolgt Probleme und lösen dann Probleme. Ich werde unten nicht viel sagen. Schauen wir uns die detaillierte Einführung zusammen an.
1. Vorbereitung
2. Eigenschaften
3. Abhängigkeitspaket
<De vorangestellt> <gruppe> org.springFramework.data </GroupId> <artifactId> Spring-data-mongodb </artifactId> <version> 1.5.0.Release </Version> </abhängig> <depeopcy> <GroupId> org.slf4j </gruppe> <artifactid> Slf4j-Slf4j-Slf4j-Slf4j-Slf4J-Log4J12 </gruppe> <artifactId> <version> 1.5.10 </Version> </abhängig>
Frühlingsbezogene Abhängigkeiten
<!-webbezogene Abhängigkeiten im Frühjahr-> <De vorstellen> <gruppe> org.springFramework </GroupId> <artifactId> Spring-Web </artifactid> <version> $ {Spring.version} </Version> </abhängig> </gruppen-org. <version> 3.1.2.Release </Version> </abhängig> <!-Spring Test-Abhängigkeiten-> <De vorstellen> <gruppe> org.springFramework </Groupid> <artifactid> Spring-Test </artifactid> <version> 4.3.1.Release </Version> </abhängig> </abhängig>4. Integrieren Sie MongoDB
[Hinweis: Weitere Informationen zum Hinzufügen von Berechtigungsmanagement in MongoDB: Aktivieren Sie die Berechtigungsauthentifizierung in MongDB]
MongoDB.Properties
mongo.hostport = 172.16.4.166: 27017mongo.dbname = ad_api_countMongo.username = hehaitaomongo.password = hehaitao mongo.connectionSperhost = 8Mongo.ThreadSallowedtOblockforConnectionMultiplier = 4#/u8fde/u63a5/u8d85/u65f6/ u65f6/u95f4Mongo.connectTimeout = 1000#/u7b49/u5f85/u65f6/u95f4Mongo.maxwaittime = 1500Mongo.autoconneCr 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.xsd http:/wwwww.springframework http://www.springframework.org/schema/data/mongo/spring-mongo-1.0.xsd http://www.springframework.org/schema/beans http://www.sprungramework.org/schema/beans/bring-bans-bringframework Laden Sie die Konfigurationsdatei der Eigenschaften von MongoDB-> <Kontext: Eigenschaftsklassespeicherort = "ClassPath: mongoDB.properties" ignorieren Sie-nicht-löslich = "True"/> <! Replica-Set Setzen Sie die IP-Adresse und den Port des Cluster-Replikats-> <Mongo: Mongo ID = "Mongo" replica-set = "$ {mongo.hostport}"> <mongo: Optionen Connections-Per-Host = "$ {mongo.connectivesperHost}" threads-allowed-to-block-for-connection-multiplier="${mongo.threadsAllowedToBlockForConnectionMultiplier}" connect-timeout="${mongo.connectTimeout}" max-wait-time="${mongo.maxWaitTime}" auto-connect-retry="${mongo.autoConnectRetry}" socket-keep-alive="${mongo.socketKeepAlive}" socket-timeout="${mongo.socketTimeout}" slave-ok="${mongo.slaveOk}" write-number="1" write-timeout="0" write-fsync="true"/> </mongo:mongo> <mongo:db-factory id = "mgfactory" dbname = "$ {mongo.dbname}" username = "$ {mongo.username}" password = "$ {mongo.password}" mongo-ref = "mongo" /> <bean id = "mongotemplate"> <constructor-arg name = "mongotory"> <constructor-arg name = "mongotory"> <constructor-arg name </bean> </beans>Spring-contex.xml
<? xmlns: tx = "http://www.springframework.org/schema/tx" xmlns: aop = "http://www.spingframework.org/schema/aop" xmlns: Task = "http xmlns: xsi = "http://www.w3.org/2001/xmlschema-instance" xsi: schemalocation = "http://www.springframework.org/schema/Beans http://www.springframework.org/schema/ http://www.springframework.org/schema/tx http://www.springframework.org/schema/context/spring-context-3.1.xsd http://www.spingframework.org/tx/tx/tx/tx/tx/tx/tx/tx/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/aop/spring-aop-3.1.xsd http://www.springframe.org/schema/task http://www.springframework.org/schema/task/task/task/sping-lask- <AOP: Aspektj-Autopproxy Proxy-Target-Class = "True"/> <Context: Annotation-Config/> <!-Alle Klassen unter com.lutongnet-> <context: component-scan base-package = "com.lutong.cps"> <context: exklude-filter type = "annotation" Ausdruck "Annotation" Ausdruck "Annotation" Ausdruck "Annotation" = "Annotation" Ausdruck "Ausdruck". "org.springframework.steretype.Controller"/> </context: component-scan> <import ressourcen = "mongodb.xml"/> </beans>
5. Code -Implementierung
Grundlegende Implementierung von Mongodbservice
/** * Dateiname: mongodbservice.java * Paket: com.lutongnet.ad.service * Beschreibung: Todo * Autor: Zhangfj * Datum: 2012-11-29 * Version: v1.0 */paket com.lutong.cps.Schedule.Service.fj; org.springframework.context.support.classPathxMlapplicationContext; import org.springframework.data.mongodb.core.mongotemplate; import org.springframework.data.mongodb.query.query.query; Zhangfj * */ @service ("mongodbservice") public class mongodbservice {/ * @ressource (name = "mongotemplate") Protected Mongotemplate Mongotemplate; ClassPathXmlApplicationContext ("mongodb.xml"); Mongotemplate mongotemplate = (mongotemplate) context.getbean ("mongotemplate"); // Sie können Return Mongotemplate.Findone (Abfrage, EntityClass) direkt aufrufen. }}Erben der Klasse userAdCountService
/** * Dateiname: userAdCountService.java * Paket: com.lutongNet.ad.service * Beschreibung: Todo * Autor: Zhangfj * Datum: 2012-11-29 * Version: v1.0 */paket com.lutong.cps.Schedule.Service.fj; org.springframework.data.mongodb.core.query.query; import org.springframework.stereotype.service; MongoDbService { / ** * Erhalten Sie die Anzahl der Ansichten einer einzelnen Anzeige, und wenn sie nicht abgefragt werden kann, wird 0 * * @param adcode * @return int * / public int getUserAdCount (userAdCount adcode) {kriterienkriterien = neue Kriterien () zurückgegeben. Kriterien.Andoperator (Kriterien wowher ("userAd"). IS (adcode.getUserad ()), Kriterien, wo ("adcode"). Query query = new query (Kriterien); UserAdCount result = findOne (Abfrage, userAdCount.class); if (null! = result) {return result.gettimeCount (); } return 0; }}Entity Class UserAdcount
Paket com.lutong.cps.Schedule.Entity; Import Java.util.date; import org.springframework.data.Annotation.Persistenceconstructor; */@Document (collection = "userAdCount") öffentliche Klasse UserAdCount {private int TimesCount; / *** Benutzerkonto*/ private String userAd; private String adcode; private Zeichenfolge Countdate; privates Datum Ablauf; @PersistenConstructor Public UserAdCount (int TimesCount, String userAd, String adcode, String countdate, Datum Abirreat) {this.timesCount = TimesCount; this.userad = userAd; this.adcode = adcode; this.countdate = countdate; this.expireat = Abirat; } public userAdCount (String userAd, String adcode, String countdate) {this.userad = userAd; this.adcode = adcode; this.countdate = countdate; } public userAdCount (String userAd, String adcode, String countdate, Datumsablauf) {this.userad = userAd; this.adcode = adcode; this.countdate = countdate; this.expireat = Abirat; } public userAdCount (String countdate) {this.countDate = CountDate; } public int gettTimesCount () {return TimesCount; } public void setzimesCount (int timesCount) {this.timesCount = TimesCount; } public String getUserad () {userAd zurückgeben; } public void setUserad (String userAd) {this.userad = userAd; } public String getAdCode () {adcode zurückgeben; } public void setAdcode (String adcode) {this.adcode = adcode; } public String getCountDate () {return countdate; } public void setCountdate (String countdate) {this.countdate = countdate; } public date getexpireat () {return abirreat; } public void setExpireat (Datum Abirreat) {this.expireat = Abirat; }}Schreiben Sie schließlich eine Testklasse, um sie zu testen
Import Java.util.List; import Javax.annotation.resource; import org.junit.test; import org.junit.runner.runwith; com.acts.web.modules.mark.model.Users;import com.lutong.cps.schedule.service.fj.UserAdCountService;@ContextConfiguration({ "classpath:spring-context.xml", "classpath:mongoDB.xml"})@RunWith(SpringJUnit4ClassRunner.class)public class UserTest {@Resource (name = "userAdCountService") private userAdCountService userAdCountService; @Test public void testDao () {try {userAdcount userAdcount = new userAdcount ("hehaitao", "pos001", datetime.now (). Tostring ("yyyy-mm-dd"); int count = userAdCountService .GetUserAdCount (userAdCount); System.out.println (count); } catch (Ausnahme e) {e.printstacktrace (); }}}Zusammenfassen
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, dass der Inhalt dieses Artikels einen gewissen Referenzwert für das Studium oder die Arbeit eines jeden hat. Wenn Sie Fragen haben, können Sie eine Nachricht zur Kommunikation überlassen. Vielen Dank für Ihre Unterstützung bei Wulin.com.