首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

JAX-RS之resteasy和spring整合

2012-10-26 
JAX-RS之resteasy跟spring整合其实,在JAX-RS标准下,jboss的resteasy跟spring结合的话,无非是如何去取得spr

JAX-RS之resteasy跟spring整合
  其实,在JAX-RS标准下,jboss的resteasy跟spring结合的话,无非是如何去取得
spring中的bean而已.两个方法,例子如下

1 比如有个接口和实现类

public interface CustomerBo{ String getMsg(); }


  实现类
  
public class CustomerBoImpl implements CustomerBo { public String getMsg() { return "RESTEasy + Spring example"; }


applicationContext.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd ">

<bean id="customerBo" name="code">import org.springframework.beans.BeansException;import org.springframework.context.ApplicationContext;import org.springframework.context.ApplicationContextAware; public class SpringApplicationContext implements ApplicationContextAware { private static ApplicationContext appContext; // Private constructor prevents instantiation from other classes private SpringApplicationContext() {} @Overridepublic void setApplicationContext(ApplicationContext applicationContext)throws BeansException {appContext = applicationContext; } public static Object getBean(String beanName) {return appContext.getBean(beanName);} }
  applicationContext.xml
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd ">

<bean name="code">import javax.ws.rs.GET;import javax.ws.rs.Path;import javax.ws.rs.core.Response;import com.mkyong.context.SpringApplicationContext;import com.mkyong.customer.CustomerBo; @Path("/customer")public class PrintService { CustomerBo customerBo; @GET@Path("/print")public Response printMessage() { customerBo = (CustomerBo) SpringApplicationContext.getBean("customerBo"); String result = customerBo.getMsg(); return Response.status(200).entity(result).build(); } }

    web.xml整合
<web-app id="WebApp_ID" version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<display-name>Restful Web Application</display-name>

<context-param>
<param-name>resteasy.resources</param-name>
<param-value>com.mkyong.rest.PrintService</param-value>
</context-param>

<listener>
<listener-class>
org.jboss.resteasy.plugins.server.servlet.ResteasyBootstrap
                </listener-class>
</listener>

<listener>
<listener-class>
                        org.springframework.web.context.ContextLoaderListener
                </listener-class>
</listener>

<servlet>
<servlet-name>resteasy-servlet</servlet-name>
<servlet-class>
org.jboss.resteasy.plugins.server.servlet.HttpServletDispatcher
                </servlet-class>
</servlet>

<servlet-mapping>
<servlet-name>resteasy-servlet</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>

</web-app> 1 楼 grassking 2012-01-04   resteasy中能通过@Autowrited注解来获取bean吗? 2 楼 ruijin5566 2012-07-26   学习了,在项目里用了

热点排行