How to use Jersey 2 with Spring IoC container

前端 未结 3 1272
遇见更好的自我
遇见更好的自我 2020-12-28 19:37

What is the best way to enable injection of spring beans into Jersey 2? Jersey seems to not support this natively.

What is needed to wire the 2 frameworks together?

3条回答
  •  囚心锁ツ
    2020-12-28 20:27

    Jersey 2.3 has now spring support:

    https://jersey.github.io/documentation/latest/user-guide.html#spring

    As stated in the documentation

    The Spring extension module configuration is based on annotations

    So you have to tell spring to scan your classpath, for example:

    
    

    and annotate your resource class with a spring annotation (I advise to use @Component, and then specify the jersey resource scopes @Singleton/@PerLookup/@RequestScoped )

    @Component
    @Singleton
    @Path("example")
    public class Example {
    
        //Spring beans can't be injected directly into JAX-RS classes by using Spring XML configuration
        @Autowired
        private MyOtherBean myOtherBean;
    
        @GET @Path("hello")
        public String hello() {
            return myOtherBean.hello();
        }
    }
    

提交回复
热议问题