MongoDB:mongodb在spring项目中的配置
来源:互联网 发布:python scatter 气泡 编辑:程序博客网 时间:2024/03/29 23:41
最近在做基于mongodb的spring项目架构,有个问题跟大家分享一下,也方便自己以后能够用到
先看一个简单的项目架构:
在架构方面唯一需要说的是采用的是spring的注解:
下面是部分代码,部分。
/** * @author jessonlv * 用户注册接口 */@Controller@RequestMapping("/user") public class UserInfoController {@Autowiredprivate UserInfoManager userManager;//接口文档@RequestMapping(method=RequestMethod.GET)public String list(HttpServletRequest request,HttpServletResponse response){ response.setContentType("text/html;charset=utf-8"); return "user";}//检测用户信息-根据帐户@RequestMapping(value="/check",method=RequestMethod.GET) public String getUser(HttpServletRequest request,HttpServletResponse response) throws Exception{//设置HTTP头 response.setContentType("text/html;charset=utf-8"); //参数获取 String account=StringUtil.formatStringParameter(request.getParameter("account"), null); String key=StringUtil.formatStringParameter(request.getParameter("key"), null);//验证调用方 //参数有效性验证 if(account==null){ throw new ParameterException(); } //TODO:key验证 //查询对象 BasicDBObject o=new BasicDBObject("account",account); try {//取数据库DBObject doc=userManager.getUserInfo(o);//输出结果PrintWriter writer=response.getWriter();writer.write(doc.toString());} catch (Exception e) {e.printStackTrace();//输出结果PrintWriter writer=response.getWriter();writer.write(new BasicDBObject().toString());}//db.find(query).skip(pos).limit(pagesize)分页return null; }粗体部分就是spring的注解。我们得到的接口调用是这个样子的:http://localhost/ucenter/user/check?account=11&pwd=11111 注意是get请求。
采用mongodb的最大好处中的其中一个就是不用写bean,只需做一些简单的配置
我们看spring-servlet.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"xmlns:tx="http://www.springframework.org/schema/tx" xmlns:aop="http://www.springframework.org/schema/aop"xmlns:util="http://www.springframework.org/schema/util" xmlns:p="http://www.springframework.org/schema/p" xmlns:cache="http://www.springframework.org/schema/cache" xmlns:jee="http://www.springframework.org/schema/jee" xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tool="http://www.springframework.org/schema/tool"xsi:schemaLocation=" http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsdhttp://www.springframework.org/schema/jee http://www.springframework.org/schema/jee/spring-jee-3.1.xsdhttp://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsdhttp://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc-3.1.xsdhttp://www.springframework.org/schema/tool http://www.springframework.org/schema/tool/spring-tool-3.1.xsdhttp://www.springframework.org/schema/cache http://www.springframework.org/schema/cache/spring-cache-3.1.xsd" default-autowire="byName" default-lazy-init="true"><context:annotation-config /><context:component-scan base-package="com.ishowchina.user" /><!-- 启动Spring MVC的注解功能,完成请求和注解POJO的映射 --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter" /> <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:prefix="/" p:suffix=".html" /> <bean id="multipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver" p:defaultEncoding="utf-8" /> <!-- 支持json --> <bean class="org.springframework.web.servlet.mvc.annotation.AnnotationMethodHandlerAdapter"> <property name="messageConverters"> <list> <bean class="org.springframework.http.converter.json.MappingJacksonHttpMessageConverter"></bean> </list> </property> </bean> <!-- 导入配置文件 --> <bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>classpath:appconfig.properties</value> </list> </property> </bean> <!-- 数据源 --> <bean id="dataSource" class="com.ishowchina.user.dao.DataSource"> <property name="ip" value="localhost"/> <property name="port" value="27017"/> </bean> <bean id="userDao" class="com.ishowchina.user.dao.impl.UserInfoDaoImpl"> <property name="dbName" value="prop"/> <property name="tableName" value="userinfo"/> <property name="dataSource" ref="dataSource"/> </bean> <bean id="stationDao" class="com.ishowchina.user.dao.impl.StationInfoDaoImpl"> <property name="dbName" value="prop"/> <property name="tableName" value="stationinfo"/> <property name="dataSource" ref="dataSource"/> </bean></beans>
上面的都是些常规的配置,最重要的就是数据源部分
<property name="ip" value="localhost"/> //数据源地址
<property name="port" value="27017"/> //端口号
<property name="dbName" value="prop"/> //数据库名
<property name="tableName" value="userinfo"/>//对应的表明
道理其实还是和bean是一样的,这在项目启动的前期都已经映射了。每写一个dao就配置一个<bean>....</bean>,剩了很多的事儿,而且刚开始的有些不习惯。但是效率挺高,结构清晰。
接口的输出结果也很简单:DBObject myDocDbObject = userManager.getUserInfo(repeatAccount);
String str = myDocDbObject.toString(); 是一个json格式的字符。
呵呵,做个小总结,方便忘记了。
so....over,下期我将会总结下mongodb的主从复制
原创文章,转载请注明出处:http://blog.csdn.net/jessonlv
3 0
- MongoDB:mongodb在spring项目中的配置
- 在Spring项目中集成使用MongoDB
- MongoDB的Spring配置
- spring中配置mongoDB
- spring-boot mongodb配置
- spring配置mongodb
- Spring Boot+MongoDB项目搭建
- 在spring中配置mongodb的用户名和密码
- 配置使用Spring Data MongoDB
- Mongodb与spring集成 配置
- mongodb+springmvc+spring+maven配置
- MongoDB的Spring配置使用
- 【MongoDB】spring-data-mongo配置
- mongodb 在linu下配置
- mongodb 在windows下面配置
- mongodb 在windows下面配置
- 在Windows上配置MongoDB
- 在 Linux 上配置 mongodb
- 【android,15】aidl
- Mac系统下Android生成keystore
- 栈和队列
- 帮警察数一数
- pragma pack(非常有用的字节对齐用法说明)
- MongoDB:mongodb在spring项目中的配置
- 理工大学ACM平台题答案关于C语言 1166 打印直角三角形
- c++中虚函数和纯虚函数的区别
- JS不间断向上滚动
- Find命令总汇
- 新手入门--输入格式六
- pragma pack
- c++接口定义及实现举例
- #pragma pack(n)对齐用法详解(转)