/ / SpringContext в услугата REST - java, spring, rest, servlets

SpringContext в услугата REST - java, spring, rest, servlets

обикновено използваме Пролетен контекст в сървлета, както следва

WebApplicationContext ctx = WebApplicationContextUtils.getRequiredWebApplicationContext(servlet.getServletContext());
SomeBean someBean = (SomeBean) ctx.getBean("someBean");

Но в услугата REST, декларирана с помощта на анотация, всъщност не е servlet. Така че не получаваме getServletContext ()

Как да се справим с това?

отговор 1) Като предаваме контекста като параметър на метода

@GET
@Path("/create")
@Produces(MediaType.TEXT_PLAIN)
public String createCustomer(@Context ServletContext servletContext){

2) Другото решение е използването на ApplicationContextAware което е обяснено тук

Отговори:

0 за отговор № 1

За да получите контекста на приложението, можете да приложите услугата си ApplicationContextAware, След това, когато услугата е създадена, Spring ще се обади setApplicationContext за да ви предостави контекста на приложението. В този метод можете да съхраните предоставения контекст за по-нататъшна употреба.