title: @Autowired not working on jersey resource
body: <p><code>workflowService</code> is null.  The bean configuration is correct because manual injection works fine in other portions of the application.</p>
  
  <p>Here's my resource:</p>
  
  <pre><code>@Path("/workflowProcess")
  @Consumes({MediaType.APPLICATION_JSON})
  @Produces({MediaType.APPLICATION_JSON})
  public class WorkflowProcessResource {
  
      @Autowired
      WorkflowService workflowService;
  
      @Autowired
      WorkflowProcessService workflowProcessService;
  
      @GET
      @Path ("/getWorkflowProcesses/{uuid}")
      public Collection&lt;WorkflowProcessEntity&gt; getWorkflows (@PathParam("uuid") String uuid) {
          WorkflowEntity workflowEntity = workflowService.findByUUID(uuid);
  
          return workflowEntity.getWorkflowProcesses();
      }
  }
  </code></pre>
  
  <p>From what I keep finding on Google on sites like <a href="http://www.mkyong.com/webservices/jax-rs/jersey-spring-integration-example/" rel="nofollow">http://www.mkyong.com/webservices/jax-rs/jersey-spring-integration-example/</a>, it looks like <code>ContextLoaderListener</code> is the key.  But I've already added that to the application context.</p>
  
  <pre><code>import com.sun.jersey.spi.container.servlet.ServletContainer;
  import com.sun.jersey.spi.spring.container.servlet.SpringServlet;
  import org.atmosphere.cpr.AtmosphereFramework;
  import org.atmosphere.cpr.AtmosphereServlet;
  import org.atmosphere.handler.ReflectorServletProcessor;
  import org.glassfish.grizzly.servlet.ServletRegistration;
  import org.glassfish.grizzly.servlet.WebappContext;
  import org.glassfish.grizzly.websockets.WebSocketAddOn;
  import org.glassfish.grizzly.http.server.HttpServer;
  import org.glassfish.grizzly.http.server.NetworkListener;
  
  import java.io.IOException;
  import java.util.logging.Logger;
  
  public class Main {
  
      protected static final Logger logger = Logger.getLogger(Main.class.getName());
  
      public static void main(String[] args) throws IOException {
          logger.info("Starting server...");
          final HttpServer server = HttpServer.createSimpleServer(".", 8181);
  
          WebappContext ctx = new WebappContext("Socket", "/");
  
          //enable annotation configuration
          ctx.addContextInitParameter("contextClass", "org.springframework.web.context.support.AnnotationConfigWebApplicationContext");
          ctx.addContextInitParameter("contextConfigLocation", "com.production");
  
          //allow spring to do all of it's stuff
          ctx.addListener("org.springframework.web.context.ContextLoaderListener");
  
          //add jersey servlet support
          ServletRegistration jerseyServletRegistration = ctx.addServlet("JerseyServlet", new SpringServlet());
          jerseyServletRegistration.setInitParameter("com.sun.jersey.config.property.packages", "com.production.resource");
          jerseyServletRegistration.setInitParameter("com.sun.jersey.spi.container.ContainerResponseFilters", "com.production.resource.ResponseCorsFilter");
          jerseyServletRegistration.setInitParameter("com.sun.jersey.api.json.POJOMappingFeature", "true");
          jerseyServletRegistration.setLoadOnStartup(1);
          jerseyServletRegistration.addMapping("/api/*");
  </code></pre>