1.所需的包:
2.代码:
(1)配置文件一:bootstrap.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">
<context:annotation-config/>
<context:component-scan base-package="org.springframework.data.mongodb.examples.hello"/>
</beans>
(2)配置文件二:AppConfig.java(Spring通过配置一扫描注解得到)
@Configuration
public class AppConfig {
public @Bean MongoOperations mongoTemplate(Mongo mongo) {
MongoTemplate mongoTemplate = new MongoTemplate(mongo, "test");
return mongoTemplate;
}
//用于创建Mongo实例
public @Bean MongoFactoryBean mongo() {
MongoFactoryBean mongo = new MongoFactoryBean();
mongo.setHost("localhost");
return mongo;
}
public @Bean PersistenceExceptionTranslationPostProcessor persistenceExceptionTranslationPostProcessor() {return new PersistenceExceptionTranslationPostProcessor();}
}
(3)main函数
ConfigurableApplicationContext context = new ClassPathXmlApplicationContext("META-INF/spring/bootstrap.xml");
HelloMongo hello = context.getBean(HelloMongo.class);
hello.run();
System.out.println("DONE!");
(4)持久层:HelloMongo.java
@Repository
public class HelloMongo {
@Autowired
MongoOperations mongoOperations;
public void run() {
if (mongoOperations.collectionExists(Person.class)) {
mongoOperations.dropCollection(Person.class);
}
mongoOperations.createCollection(Person.class);
Person p = new Person("John", 39);
mongoOperations.insert(p);
List<Person> results = mongoOperations.findAll(Person.class);
System.out.println("Results: " + results);
}
}
(5)实体类:Person.java
类前使用@Document注解,id前使用@Id注解