mongodb - MongoTemplate instance is not created inside spring -


i want try spring integration mongodb, purpose did following things. not working how mongotemplate instance not created , throws java.lang.nullpointerexception. here application-context.xml

<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans"        xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"        xmlns:context="http://www.springframework.org/schema/context"        xsi:schemalocation="http://www.springframework.org/schema/beans         http://www.springframework.org/schema/beans/spring-beans-3.0.xsd         http://www.springframework.org/schema/context         http://www.springframework.org/schema/context/spring-context-3.0.xsd">    <!-- activate annotation configured components -->   <context:annotation-config/>    <!-- scan components annotations within configured package -->   <context:component-scan base-package="com.jeroenreijn.mongodb.example">     <context:exclude-filter type="annotation" expression="org.springframework.context.annotation.configuration"/>   </context:component-scan>    <!-- factory bean creates mongo instance -->   <bean id="mongo" class="com.mongodb.mongo">     <constructor-arg name="host" value="127.0.0.1" />     <constructor-arg name="port" value="27017" />   </bean>    <!-- define mongotemplate handles connectivity mongodb -->   <bean id="mongotemplate" class="org.springframework.data.mongodb.core.mongotemplate" depends-on="mongo">     <constructor-arg name="mongo" ref="mongo"/>     <constructor-arg name="databasename" value="firstmongodb"/>   </bean>    <!-- use post processor translate mongoexceptions thrown in @repository annotated classes -->   <bean class="org.springframework.dao.annotation.persistenceexceptiontranslationpostprocessor"/>  </beans> 

here main method :

public class mainapplication {      /**      * variable used logging purpose, have used slf4j.      */     final logger logger = loggerfactory.getlogger(mainapplication.class);     @autowired     mongotemplate mongotemplate;      public void saveperson(person p) {         mongotemplate.save(p);     }      public static void main(string[] args) {         person p = new personimpl("1", "ayushya", "devmurari");         mainapplication ma = new mainapplication();         ma.saveperson(p);         ma.logger.info("person named : " + p.getname() + " id : "                 + p.getid() + " saved.");     }  } 

here model class :

@document(collection = "anotherpersoncollection") public class personimpl implements person {      private string id;     private string name;     private string surname;      // constructor     public personimpl() {      }      public personimpl(string id, string name, string surname) {         this.id = id;         this.name = name;         this.surname = surname;     }      @override     public string getid() {         return id;     }      @override     public void setid(string id) {         this.id = id;     }      @override     public string getname() {         return name;     }      @override     public void setname(string name) {         this.name = name;     }      @override     public string getsurname() {         return surname;     }      @override     public void setsurname(string surname) {         this.surname = surname;     }      @override     public string tostring() {         return "person has name " + "id :" + id + "\n" + name + " \n"                 + "surname :" + surname;     }  } 

need assistance have tried several tutorials, mkyong , many others , have faced nobeandefinitionfound "mongotemplate" error: tried this.

update: here pom.xml

<project xmlns="http://maven.apache.org/pom/4.0.0" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"     xsi:schemalocation="http://maven.apache.org/pom/4.0.0      http://maven.apache.org/maven-v4_0_0.xsd">     <modelversion>4.0.0</modelversion>     <groupid>com.discusit</groupid>     <artifactid>mongodbapptrail4</artifactid>     <packaging>jar</packaging>     <version>1.0</version>     <name>trying create mongodbapp</name>     <url>http://maven.apache.org</url>      <dependencies>         <!-- log4j -->         <dependency>             <groupid>org.slf4j</groupid>             <artifactid>slf4j-log4j12</artifactid>             <version>1.7.5</version>         </dependency>         <!-- spring framework -->         <dependency>             <groupid>org.springframework</groupid>             <artifactid>spring-core</artifactid>             <version>3.2.2.release</version>         </dependency>          <dependency>             <groupid>org.springframework</groupid>             <artifactid>spring-context</artifactid>             <version>3.2.2.release</version>         </dependency>          <!-- spring web -->         <dependency>             <groupid>org.springframework</groupid>             <artifactid>spring-web</artifactid>             <version>3.2.2.release</version>         </dependency>          <!-- mongodb java driver -->         <dependency>             <groupid>org.mongodb</groupid>             <artifactid>mongo-java-driver</artifactid>             <version>2.11.0</version>         </dependency>         <!-- spring data mongodb -->         <dependency>             <groupid>org.springframework.data</groupid>             <artifactid>spring-data-mongodb</artifactid>             <version>1.2.0.release</version>         </dependency>         <dependency>             <groupid>cglib</groupid>             <artifactid>cglib</artifactid>             <version>2.2.2</version>         </dependency>     </dependencies>     <build>         <plugins>             <plugin>                 <artifactid>maven-compiler-plugin</artifactid>                 <version>3.0</version>                 <configuration>                     <source>1.6</source>                     <target>1.6</target>                 </configuration>             </plugin>             <plugin>                 <groupid>org.apache.maven.plugins</groupid>                 <artifactid>maven-eclipse-plugin</artifactid>                 <version>2.9</version>                 <configuration>                     <downloadsources>true</downloadsources>                     <downloadjavadocs>true</downloadjavadocs>                 </configuration>             </plugin>         </plugins>     </build> </project> 

here stacktrace :

log4j:warn no appenders found logger (org.springframework.core.env.standardenvironment). log4j:warn please initialize log4j system properly. log4j:warn see http://logging.apache.org/log4j/1.2/faq.html#noconfig more info. exception in thread "main" org.springframework.beans.factory.nosuchbeandefinitionexception: no bean named 'mongotemplate' defined     @ org.springframework.beans.factory.support.defaultlistablebeanfactory.getbeandefinition(defaultlistablebeanfactory.java:568)     @ org.springframework.beans.factory.support.abstractbeanfactory.getmergedlocalbeandefinition(abstractbeanfactory.java:1102)     @ org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:278)     @ org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:194)     @ org.springframework.context.support.abstractapplicationcontext.getbean(abstractapplicationcontext.java:1117)     @ com.discusit.main.mainapplication.main(mainapplication.java:39) 

i have @aayush solution. have found 2 errors:

  • you don't call correctly xml file configuration.

    before:

    applicationcontext ctx = new genericxmlapplicationcontext("classpath*:application-context.xml"); 

    after:

    applicationcontext ctx = new genericxmlapplicationcontext("classpath:meta-inf/applicationcontext.xml"); 
  • you call exceptiontranslationpostprocessor. why ? call causes error. removed it.

    <bean class="org.springframework.dao.annotation.persistenceexceptiontranslationpostprocessor"/> 

so finally, have tested application small changes , it's working. dont forget start mongodb server , create database "firstmongodb". more information read here: http://docs.mongodb.org/manual/tutorial/getting-started/

i have published project in github: https://github.com/m-reka/spring-data-mongotemplate

tell me when can remove :)


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -