最近在做基于mongodb的spring项目架构,有个问题跟大家分享一下,也方便自己以后能够用到 先看一个简单的项目架构: 在架构方面唯一需要说的是采用的是spring的注解: 下面是部分代码,部分。 /** * @author jessonlv * 用户注册接口 */ @controller@request
最近在做基于mongodb的spring项目架构,有个问题跟大家分享一下,也方便自己以后能够用到
先看一个简单的项目架构:
在架构方面唯一需要说的是采用的是spring的注解:
下面是部分代码,部分。
/** * @author jessonlv * 用户注册接口 */@controller@requestmapping(/user) public class userinfocontroller { @autowired private 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 的配置内容
classpath:appconfig.properties
上面的都是些常规的配置,最重要的就是数据源部分 //数据源地址
//端口号
//数据库名
//对应的表明
道理其实还是和bean是一样的,这在项目启动的前期都已经映射了。每写一个dao就配置一个....,剩了很多的事儿,而且刚开始的有些不习惯。但是效率挺高,结构清晰。
接口的输出结果也很简单:dbobject mydocdbobject = usermanager.getuserinfo(repeataccount);
string str = mydocdbobject.tostring(); 是一个json格式的字符。
呵呵,做个小总结,方便忘记了。
