2016-09-21 252 views
0

我學習建立使用的球衣和Spring如何從jersey.servlet.ServletContainer託管bean獲取Spring託管bean?

一個RESTful API,但得到一些問題,我的服務bean時注入到我的資源處理類,

我不能讓使用@Autowired@Resource豆... ..at所有

我想原因是我的SignupResource實例由"jersey.servlet.ServletContainer"

managerd而我的服務SignupBo實例是通過Spring IoC容器管理

有什麼辦法可以訪問Spring容器外部的bean嗎?

我的資源是這樣的:

@Path("signup") 
public class SignupResource { 

    @Resource(name="signupDaoImpl") 
    private SignupBo signupBo; 
    //add a new sign up 

    @POST 
    @Consumes(MediaType.APPLICATION_JSON) 
    @Produces(MediaType.APPLICATION_JSON) 
    public Signup addSignup(Signup signup){ 

     signupBo.createSignup(signup);// always complain nullException  
     return signup; 
    } 

    @GET  
    public void getSignup(){ 
     //System.out.println("hello_world"); 
    } 

} 

回答

0

使用新澤西Spring3依賴自舉彈簧部。

<groupId>org.glassfish.jersey.ext</groupId> 
<artifactId>jersey-spring3</artifactId> 
<version>2.4.1</version> 

您可以在web xml中配置上下文參數以引用spring應用程序上下文位置。另外,你可能想要排除spring jersey依賴包含的spring依賴,繼續使用你的spring庫。