Я хочу внедрить объект в сервлет с помощью Spring
У меня есть два сервлета в моем приложении, и я хочу, чтобы объект класса A был внедрен в оба сервлета, и я также хотел бы, чтобы один и тот же ApplicationContext во всем приложении, то есть оба сервлета, как упоминалось в первом ответе на этот вопрос о SO:Пружинный впрыск в сервлет
Теперь я прошел через много вопросов, подобных этим, но не смог найти что-то, что точно соответствует моему вопросу. Чтобы лучше объяснить, я напишу здесь грубый код:
public class servletOne extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
}
public class servletTwo extends HttpServlet {
protected void processRequest(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
}
}
Итак, выше приведены два сервлета в applicationContext.xml. Я хочу передать объект обоим этим сервлетам, поэтому в соответствии с обычным соглашением мне нужна такая функциональность:
<bean id="servletFirst" class="mypackage.servletOne">
<property name="message" ref="classObject" />
</bean>
<bean id="servletFirst" class="mypackage.servletTwo">
<property name="message" ref="classObject" />
</bean>
<bean id="classObject" class="mypackage.classA">
</bean>
Я не знаю, возможно ли это или нет, я новичок в весне, и у меня есть только базовые знания о зависимости инъекций.
Если кто-то может помочь мне с этим, я был бы очень признателен. Это избавит меня от многих сомнений и поможет мне двигаться вперед в процессе изучения Spring.
Это web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<servlet>
<servlet-name>dispatcher</servlet-name>
<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
<load-on-startup>2</load-on-startup>
</servlet>
<servlet>
<servlet-name>servletOne</servlet-name>
<servlet-class>mypackage.servletOne</servlet-class>
</servlet>
<servlet>
<servlet-name>servletTwo</servlet-name>
<servlet-class>mypackage.servletTwo</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>dispatcher</servlet-name>
<url-pattern>*.htm</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>servletOne</servlet-name>
<url-pattern>/servletOne</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>servletTwo</servlet-name>
<url-pattern>/servletTwo</url-pattern>
</servlet-mapping>
<session-config>
<session-timeout>
300
</session-timeout>
</session-config>
</web-app>