Почему в каждом сервлете создаётся собственный экземпляр Spring bean (singleton)?
Имеется 2 сервлетa, в которых есть поля одного и того же класса DataBase:
@WebServlet("/1")
public class Servlet1 extends HttpServlet {
private DataBase db;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, {
//call db
}
}
@WebServlet("/2")
public class Servlet2 extends HttpServlet {
private DataBase db;
@Override
protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, {
//call db
}
}
Файл app-context.xml содержит singleton Spring bean класса базы данных:
<bean id="db" class="... .impl.DataBase"/>
Дальше.
С помощью методов init() сервлетов или ̶т̶а̶н̶ц̶е̶в̶ ̶с̶ ̶б̶у̶б̶н̶о̶м̶ рефлексии я добиваюсь DependecyInjection в поле каждого сервлета из app-context.xml.
Но почему-то в каждом из сервлетов создаётся собственный экземпляр класса DataBase. Хотя по дефолту bean в .xml имеет scope="singleton"
Почему я не получаю 1 экземпляр DataBase для всех сервлетов? И как этого добиться?