关于Jersey整合Spring注入出现NullPointException问题

原创
2015/10/20 23:29
阅读数 509

解决方案如果:

一、web.xml

<servlet>
		<servlet-name>Jersey Web Application</servlet-name>
		<servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
		<!--关键是这两行,其中com.example.MyApplication是自定义的一个类-->
		<init-param>
			<param-name>javax.ws.rs.Application</param-name>
			<param-value>com.example.MyApplication</param-value> 
		</init-param>
	</servlet>
	<servlet-mapping>
		<servlet-name>Jersey Web Application</servlet-name>
		<url-pattern>/webapi/*</url-pattern>
	</servlet-mapping>
package com.example;

import org.glassfish.jersey.server.ResourceConfig;
import org.glassfish.jersey.server.spring.scope.RequestContextFilter;

/**
 * Spring HelloWorld Web Application configuration.
 *
 * @author Jakub Podlesak (jakub.podlesak at oracle.com)
 */
public class MyApplication extends ResourceConfig {

    /**
     * Register JAX-RS application components.
     * 如果要和spring要个jersey结合,必须得在jersey 中注册
     */
    public MyApplication() {
        register(RequestContextFilter.class);
        register(SpringRequestResource.class);
    }
import org.springframework.stereotype.Component;

import com.example.emp.EmpService;

@Path("spring-hello")
@Component
public class SpringRequestResource {
	@Resource
	private EmpService empService;
	@GET
    @Produces(MediaType.TEXT_PLAIN)
    public String getHello() {
        return empService.greet("world");
    }

已经执行成功,具体为什么要注册,有时间看完源码给大家分享出来。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部