У меня есть 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 не возвращает ноль?