Да, вы можете использовать сейчас. Вы должны добавить класс ApplicationInitializer, который расширяет класс AbstractAnnotationConfigDispatcherServletInitializer .
package co.tellmehow.config
import org.springframework.web.servlet.support.AbstractAnnotationConfigDispatcherServletInitializer;
public class ApplicationInitializer extends
AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getRootConfigClasses () {
return null;
}
@Override
protected Class<?>[] getServletConfigClasses () {
return new Class<?>[]{ApplicationWebConfig.class};
}
@Override
protected String[] getServletMappings () {
return new String[]{"/"};
}
}
Мы должны расширить класс AbstractAnnotationConfigDispatcherServletInitializer, который используется, когда иерархия контекста приложения не требуется, приложения могут возвращать всю конфигурацию через getRootConfigClasses () и возвращать ноль из getServletConfigClasses () .
Теперь вы можете использовать аннотацию @WebServlet с приложением Spring.
Полный исходный код с пояснениями представлен здесь.
@WebServlet(name = "myServlet", urlPatterns = "/myServlet")
public class MyServlet extends HttpServlet {
private static final long serialVersionUID = 7088410241741084414L;
@Override
protected void doGet (HttpServletRequest req,
HttpServletResponse resp)
throws ServletException, IOException {
System.out.println("-- In MyServlet --");
PrintWriter writer = resp.getWriter();
writer.println("Tell Me How: MyServlet running now");
}
}