Spring和maven集成mvc,jpa,mongodb,Hibernate等
2014-03-13 18:20
489 查看
小弟前一段时间在玩弄着Spring,后来发现Spring的那些项目是个好东西啊,特别是Spring的Data那一块,使用起来是那么水到渠成,不管底层数据库是结构化的还是非结构化的(MongoDB,neo4j),用起来没什么区别。
所以,自己手动从头到尾搭建了一个Spring集成的项目,也就当以后做东西的模板,或者作为搭建项目的根吧。
Spring集成的MVC,Hibernate,Jpa,MongoDB,SiteMesh。
完善中,还没完成。
等待加入Shiro,Bootstrap等。
废话少说,先看一段代码:
一个Dao
如果本身的MongoRepository 满足不了要求的话,再一个接口作为拓展:
然后对这些接口实现:
基本上看不出来这里使用了MongoDB,因为MongoRepository和后面的接口将实现细节给屏蔽了。
我当时的运行结果为:
记录数量为:12
记录数量为:12
进入保存……
记录数量为:13
新创建的对象的id为:532186787bce33658dbdd772
INFO :[2014-03-13 18:20:41]com.cn.wuxiong.spring.mongodb.landscape.service.ScenicService.addScenic(ScenicService.java:43) : 创建:ScenicSpots [id=532186787bce33658dbdd772, name=飞沙洲5, ticketPrice=55.56, openTime=8, closeTime=18, remark=落霞与孤鹜齐飞,秋水共长天一色。]
有什么问题,欢迎大神拍砖。
项目SVN地址:http://spring-all.googlecode.com/svn/trunk/
该例子集成了Jpa,Spring mvc,MongoDB,SiteMesh,Maven,Spring Data等功能。后序还会集成其他的框架。
欢迎批评指正。
所以,自己手动从头到尾搭建了一个Spring集成的项目,也就当以后做东西的模板,或者作为搭建项目的根吧。
Spring集成的MVC,Hibernate,Jpa,MongoDB,SiteMesh。
完善中,还没完成。
等待加入Shiro,Bootstrap等。
废话少说,先看一段代码:
一个Dao
package com.cn.wuxiong.spring.mongodb.landscape.dao; import org.springframework.data.mongodb.repository.MongoRepository; import org.springframework.stereotype.Repository; import com.cn.wuxiong.spring.mongodb.landscape.domain.ScenicSpots; @Repository public interface ScenicDao extends MongoRepository<ScenicSpots, Long>,ScenicDaoEx { // 这个接口中可以写一些StudentDao不能满足要求的方法。我这里纯粹测试好玩 }
如果本身的MongoRepository 满足不了要求的话,再一个接口作为拓展:
package com.cn.wuxiong.spring.mongodb.landscape.dao; import java.util.List; import org.bson.types.ObjectId; import org.springframework.data.mongodb.core.query.Query; import com.cn.wuxiong.spring.mongodb.landscape.domain.ScenicSpots; public interface ScenicDaoEx { public void testFunc(); public void persist(ScenicSpots ss); public int getScenicSpotsCount(); public ScenicSpots findScenicSpotsById(ObjectId id); public ScenicSpots findScenicSpotsByCondition(Query query); public List<ScenicSpots> findScenicSpotssByCondition(Query query); }
然后对这些接口实现:
package com.cn.wuxiong.spring.mongodb.landscape.dao; import java.util.List; import org.bson.types.ObjectId; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.mongodb.core.MongoTemplate; import org.springframework.data.mongodb.core.query.Query; import org.springframework.stereotype.Repository; import com.cn.wuxiong.spring.mongodb.landscape.domain.ScenicSpots; @Repository public class ScenicDaoImpl implements ScenicDaoEx {// 对于那些补充的方法的实现 @Autowired private MongoTemplate mongoTemplate; // @Override public void testFunc() { System.out.println("#############Test DAO"); } public void persist(ScenicSpots ss) { System.out.println("进入保存……"); mongoTemplate.insert(ss); System.out.println(ss); } public int getScenicSpotsCount() { return mongoTemplate.findAll(ScenicSpots.class).size(); } public ScenicSpots findScenicSpotsById(ObjectId id) { return mongoTemplate.findById(id, ScenicSpots.class); } public ScenicSpots findScenicSpotsByCondition(Query query) { return mongoTemplate.findOne(query, ScenicSpots.class); } public List<ScenicSpots> findScenicSpotssByCondition(Query query) { return mongoTemplate.find(query, ScenicSpots.class); } }
基本上看不出来这里使用了MongoDB,因为MongoRepository和后面的接口将实现细节给屏蔽了。
我当时的运行结果为:
记录数量为:12
记录数量为:12
进入保存……
记录数量为:13
新创建的对象的id为:532186787bce33658dbdd772
INFO :[2014-03-13 18:20:41]com.cn.wuxiong.spring.mongodb.landscape.service.ScenicService.addScenic(ScenicService.java:43) : 创建:ScenicSpots [id=532186787bce33658dbdd772, name=飞沙洲5, ticketPrice=55.56, openTime=8, closeTime=18, remark=落霞与孤鹜齐飞,秋水共长天一色。]
有什么问题,欢迎大神拍砖。
项目SVN地址:http://spring-all.googlecode.com/svn/trunk/
该例子集成了Jpa,Spring mvc,MongoDB,SiteMesh,Maven,Spring Data等功能。后序还会集成其他的框架。
欢迎批评指正。
相关文章推荐
- springmvc+hibernate+jpa+freemarker搭建(maven)
- maven springmvc hibernate shiro 集成
- IntelliJ IDEA 使用maven 集成SpringMVC+Hibernate
- maven 项目(三)引申--spring集成hibernate+JPA事务配置(扫描注解)
- Springmvc+Hibernate+JPA Maven环境搭
- Maven学习笔记(十)-Maven整合SSHSJ(Spring+SpringMVC+Hibernate+Spring Data JPA+JdbcTemplate)框架
- IntelliJ IDEA 使用maven 集成SpringMVC+Hibernate
- 通过注解的方式集成Spring 4 MVC+Hibernate 4+MySQL+Maven,开发项目样例
- [置顶] maven搭建SpringMVC+Spring+hibernate+JPA
- shiro 用户权限管理(1)----配置 (springmvc+jpa+hibernate+maven环境)
- 第四章:Dubbo整合maven+spring+springmvc+mybatis之mybatis集成
- SpringMVC+Apache Shiro+JPA(hibernate)案例教学(一)整合配置
- SpringMVC+Apache Shiro+JPA(hibernate)
- maven+springMVC+hibernate工程搭建(四简单base层实现及demo)
- 【译】Spring 4 + Hibernate 4 + Mysql + Maven集成例子(注解 + XML)
- JPA/Hibernate与Spring集成的事务分析
- maven+springMVC+hibernate项目搭建(二创建web项目demo)
- maven+springjpa+hibernate
- springmvc+spring+mybatis+maven项目集成shiro进行用户权限控制【转】
- Spring+SpringMVC+SpingDataJPA(基于Hibernate)框架搭建