REST webservice с javax.inject возвращает ноль - PullRequest
0 голосов
/ 23 октября 2018

У меня есть Webservice для отдыха, который вызывается с использованием web.xml с сервлетом ниже: -

 <servlet>
        <servlet-name>Welcome</servlet-name>
        <servlet-class>org.glassfish.jersey.servlet.ServletContainer</servlet-class>
        <init-param>
            <param-name>jersey.config.server.provider.packages</param-name>
            <param-value>com.amdocs.bda.ccr.rest</param-value>
            <param-name>log4j-properties-location</param-name>
            <param-value>WEB-INF/log4j.properties</param-value>
        </init-param>

        <load-on-startup>1</load-on-startup>
    </servlet>

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

Служба переходит к следующему классу, и вызывается метод get: -

   @Service
    @Path("/households")
    @Produces(MediaType.APPLICATION_JSON)
    @Consumes(MediaType.APPLICATION_JSON)
    public class HouseholdService extends Application{

        private static final String API = SEARCH_HOUSEHOLD;

        @Inject
        private Provider<CcrBO> ccrBOProvider;

        HashMap map = new HashMap<String, String>();
        final static Logger logger = Logger.getLogger(HouseholdService.class);


        @GET
        public CcrResponse getHouseholdInfo()
    {
 CcrBO bo = ccrBOProvider.get();

    }

Проблема в том, что метод "bo", возвращаемый методом get, равен нулю.Я понимаю, что через web.xml метод get вызывается напрямую, а инъекция фактически не выполняется в моем случае.Правильно ли понимание?Как я могу убедиться, что эта инъекция имеет место и метод get не возвращает ноль?

...