spring+mybatis+restful的搭建

近期需要写一个android项目,服务端由我负责,打算使用spring+mybatis+restful搭建。搭建过程如下,具体细节日后有时间再整理。

1、新建一个Dynamic web项目,Eclipse版本如下:Eclipse Java EE IDE for Web Developers.Version: Luna Release (4.4.0)

2、引入spring mybatis jersy等jar包,还有其他项目需要的jar包也要引入(比如数据库连接jar包,myspring-batis整合jar包等)。引入之后需要 经过buid path操作,否则会出错。具体过程如下,选择其中的一个library库,右键点击选择build path->config buildpath->Deployment assembly->add->java build path entries->选择类库加入即可。

spring+mybatis+restful的搭建_第1张图片

3、整合spring+mybatis:通过xml配置文件将spring和mybatis整合。

spring+mybatis+restful的搭建_第2张图片

ApplicationContext.xml



	
	
		
		
		
		
	
	
	
		
		
	
	
	  
    	  
    	  
	 

Mybatis-Configuration.xml




	
	
		
	

可参考教程:http://blog.csdn.net/kutejava/article/details/9164353#t0

4、服务器端逻辑代码结构如下:

spring+mybatis+restful的搭建_第3张图片

com.info.test是功能模块,TestService.java是接口,对应TestServiceImpl是接口实现部分,内部需要实例化DataModelMapper,然后能使用Mybatis中的增删改查了。

com.info.rest主要是处理客户端传来的请求,获取参数,调用相应的功能等等。

package com.info.rest;

import java.util.HashMap;
import java.util.List;

import javax.servlet.http.HttpServletRequest;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;
import javax.ws.rs.core.Context;

import net.sf.json.JSONException;
import net.sf.json.JSONObject;

import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import org.springframework.http.MediaType;

import com.info.basic.DataModelMapper;
import com.info.test.TestServiceImpl;

@Path("/TestService")
public class TestServiceREST {
	private ApplicationContext ct;
	private String[] configFiles = { "config/ApplicationContext.xml" };
	
	@GET
	@Path("/getUser")
//	@Consumes(MediaType.TEXT_PLAIN)
//	@Produces(MediaType.APPLICATION_JSON)
	public String getUser(String username,@Context HttpServletRequest req)throws JSONException{
		ct = new ClassPathXmlApplicationContext(configFiles);
		String retData = "";
		
		String userName = (String) req.getSession().getAttribute("userName");
		DataModelMapper dtMapper = (DataModelMapper) ct.getBean("DataModelMapper");
		
		TestServiceImpl testService = new TestServiceImpl(dtMapper);
		List> userList = testService.selectUsers();
		HashMap result = new HashMap();
		result.put("data", userList);
		retData = "[" + JSONObject.fromObject(result).toString() + "]";
		return retData;
	}
}
这里面有一个问题:

//	@Consumes(MediaType.TEXT_PLAIN)
//	@Produces(MediaType.APPLICATION_JSON)
如果写上这两句会报错,原因还没找出来。

com.info.basic里面暂时只写了mybatis中的增删改查语句,采用接口的形式调用。


5、配置web.xml文件,代码如下:

 
 
RestfulTest 
 
Jersey REST Service 
com.sun.jersey.spi.container.servlet.ServletContainer 
 
com.sun.jersey.config.property.packages 
com.info.rest 
 
1 
 
 
Jersey REST Service 
/rest/* 
 

6、调用形式

http://localhost:8080/RestfulTest/rest/TestService/getUser


以上就是搭建过程,其中涉及到许多细节问题,有些地方也没完全搞明白,三个框架和架构对于自己来说都是新知识,也是第一次使用这三个东西写项目。等下次有时间再进行总结。

你可能感兴趣的:(spring+mybatis+restful的搭建)