Spring 如何将wicket框架与mongoDB集成?

Spring 如何将wicket框架与mongoDB集成?,spring,mongodb,wicket,Spring,Mongodb,Wicket,我已经在快速入门应用程序中使用了spring data mongodb 1.2.1-RELEASE。它工作得很好, 我可以连接到mongo db我可以创建、更新和删除集合现在我想将wicket框架与此应用程序集成 域类 @Document public class Student { @Id private String id; private String firstName; private int age; public String getFir

我已经在快速入门应用程序中使用了spring data mongodb 1.2.1-RELEASE。它工作得很好, 我可以连接到mongo db我可以创建、更新和删除集合现在我想将wicket框架与此应用程序集成

域类

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

}
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);
   }
}
学生知识库类

@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);
    }
}
Mongo Db主类

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

}
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);
   }
}
公共类MongoDBAP
{
静态最终记录器Logger=LoggerFactory.getLogger(mongodbap.class);
公共静态void main(字符串[]args)
{
logger.info(“演示应用程序”);
ApplicationContext context=new AnnotationConfigApplicationContext(MongoConfiguration.class);
StudentService StudentService=context.getBean(StudentService.class);
学生=新生();
学生。setFirstName(“foo”);
学生年龄(24岁);
创建(学生);
List students=studentService.findAll();
logger.info(“学生人数:{}”,students.size());
studentService.delete(学生);
logger.info(“已删除的学生:{}”,学生);
}
}
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>

org.springframework.data
spring数据mongodb
1.2.1.发布
cglib
cglib
2.2
对于这段代码,我想与wicket框架集成


请帮助我如何做到这一点?

如果您的Spring/MongoDb运行良好,您只需将其集成到Wicket模块Wicket Spring中即可。您可以在此处找到此集成的示例:

可从以下网址获取来源:

谢谢安德里亚·德尔本斯, 我确实喜欢我的WicketApplication

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

public ApplicationContext getSpringContext()
{
        return WebApplicationContextUtils.getRequiredWebApplicationContext(getServletContext());
}

请更具体一些,并显示一些代码…Martijn Dashorst,非常感谢您的回复。我更新了我的问题。我仍然不知道你想要实现什么。你想让Wicket做什么?给你造一辆汽车,飞机,游泳池?我想在学生中做积垢手术我在主课上做了些什么。为此,我可以从学生页面调用学生服务,比如@Repository StudentService;?。我想在pom.xml文件中添加什么依赖项。我非常抱歉问这个愚蠢的问题。我刚刚为student.com创建了一个页面,并调用了类似ConfigurableApplicationContext=new ClassPathXmlApplicationContext(“application context.xml”)的服务;StudentService StudentService=context.getBean(StudentService.class);