2013-09-22 61 views
0

我在快速启动应用程序中使用了spring-data-mongodb 1.2.1-RELEASE。它工作正常, 我可以连接到mongo数据库我可以创建,更新和删除集合现在我想集成wicket框架与此应用程序。如何将wicket框架与mongoDB集成?

域类

@Document 
public class Student 
{ 
    @Id 
    private String id; 
    private String firstName; 
    private int age; 

    public String getFirstName() 
    { 
     return firstName; 
    } 

    public void setFirstName(String firstName) 
    { 
     this.firstName = firstName; 
    } 

    public int getAge() 
    { 
     return age; 
    } 

    public void setAge(int age) 
    { 
     this.age = age; 
    } 

} 

学生仓储类

@Repository 
public class StudentService 
{ 

    @Autowired 
    MongoTemplate mongoTemplate; 

    @Override 
    public void create(Student student) 
    { 
     mongoTemplate.insert(student); 
    } 

    @Override 
    public void update(Query query, Update update) 
    { 
     mongoTemplate.updateFirst(query, update, Student.class); 
    } 

    @Override 
    public List<Student> findAll() 
    { 
     List<Student> students = mongoTemplate.findAll(Student.class); 
     logger.debug("Student: {}", students); 
     return students; 
    } 

    @Override 
    public void delete(Student student) 
    { 
     mongoTemplate.remove(student); 
    } 

    @Override 
    public void deleteAll() 
    { 
     Query searchUserQuery = new Query(Criteria.where("age").gt(0)); 
     mongoTemplate.remove(searchUserQuery, Student.class); 
    } 
} 

蒙戈配置类

@Configuration 
    @EnableMongoRepositories 
    @ComponentScan(basePackageClasses = {MongoDBApp.class}) 
    @PropertySource("classpath:application.properties") 
    public class MongoConfiguration extends AbstractMongoConfiguration 
    { 
     @Override 
     protected String getDatabaseName() 
     { 
      return "demo"; 
     } 

     @Override 
     public Mongo mongo() throws Exception 
     { 
      return new Mongo("localhost", 27017); 
     } 

     @Override 
     protected String getMappingBasePackage() 
     { 
      return "mypackage"; 
     } 
    } 

蒙戈Db的主类

public class MongoDBApp 
{ 

    static final Logger logger = LoggerFactory.getLogger(MongoDBApp.class); 

    public static void main(String[] args) 
    { 
     logger.info("Demo application"); 

     ApplicationContext context = new AnnotationConfigApplicationContext(MongoConfiguration.class); 

     StudentService studentService = context.getBean(StudentService.class); 

     Student student = new Student(); 
     student.setFirstName("foo"); 
     student.setAge(24); 
     studentService.create(student); 

     List<Student> students = studentService.findAll(); 
     logger.info("No. of students: {}", students.size()); 


     studentService.delete(student); 
     logger.info("Deleted student: {}", student); 
    } 
} 

依赖在pom.xml中

<dependency> 
    <groupId>org.springframework.data</groupId> 
    <artifactId>spring-data-mongodb</artifactId> 
    <version>1.2.1.RELEASE</version> 
</dependency> 

<dependency> 
    <groupId>cglib</groupId> 
    <artifactId>cglib</artifactId> 
    <version>2.2</version> 
</dependency> 

对于这个代码我想与检票框架集成。

请帮我怎么做?

+0

更具体,请显示一些代码... –

+0

Martijn Dashorst , 非常感谢您的回复。我更新了我的问题。 – MadasamySankarapandian

+1

我仍然不知道你想达到什么目的。你想让Wicket做什么?建立你的车,飞机,游泳池? –

回答

0

感谢安德烈德尔本斯, 我MyWicketApplication

@Override 
public void init() 
{ 
     super.init(); 
     getComponentInstantiationListeners().add(new SpringComponentInjector(this, getSpringContext())); 
     // add your configuration here 
} 

public ApplicationContext getSpringContext() 
{ 
     return WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext()); 
} 
做了这样的