MongoTemplate Instanz nicht innerhalb Frühling

Möchte ich versuchen, spring integration mit MongoDB, Für diesen Zweck habe ich folgende Dinge. aber seine nicht funktioniert, wie Einige MongoTemplate Instanz wird nicht angelegt und wirft java.lang.NullPointerException.
hier ist meine 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 for annotations within the 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 that creates the 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 the MongoTemplate which handles connectivity with 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 this post processor to translate any MongoExceptions thrown in @Repository annotated classes -->
  <bean class="org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor"/>

</beans>

hier ist meine main-Methode :

public class MainApplication {

    /**
     * This is a variable used for Logging purpose, I 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() + " with id : "
                + p.getId() + " is saved.");
    }

}

Hier ist meine model-Klasse :

@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;
    }

}

Hilfe benötigen, ich habe versucht, mehrere tutorials, wie mkyong und viele andere, und ich habe vor NoBeanDefinitionFound für "mongoTemplate" Fehler: so ich dies versuchte.

UPDATE: hier ist mein 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 to 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>

Hier ist mein stacktrace :

log4j:WARN No appenders could be found for logger (org.springframework.core.env.StandardEnvironment).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
Exception in thread "main" org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'mongoTemplate' is defined
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanDefinition(DefaultListableBeanFactory.java:568)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getMergedLocalBeanDefinition(AbstractBeanFactory.java:1102)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:278)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
    at org.springframework.context.support.AbstractApplicationContext.getBean(AbstractApplicationContext.java:1117)
    at com.discusit.main.MainApplication.main(MainApplication.java:39)

InformationsquelleAutor Bilbo Baggins | 2013-05-21

Schreibe einen Kommentar