Вот учебное пособие, в котором показано, как получить доступ к компонентам, объявленным в контейнере Spring Ioc, в веб-приложении, разработанном с помощью Apache Struts 1.x.
Spring поставляется с “специфичным для стоек” решением для компонентов доступа, объявленных в контейнере Spring Ioc.
- Зарегистрируйте готовый плагин Spring Struts в файле конфигурации Struts.
- Измените свой класс действий Struts, чтобы расширить класс Spring ActionSupport , подкласс класса действий Struts.
- ActionSupport предоставляет удобный getWebApplicationContext() метод для доступа к компонентам, объявленным в контейнере Spring Ioc.
1. Распорки + Пружинные зависимости
Для интеграции со стойками 1.x требуется пружина ” spring-web.jar “и” spring-struts.jar “библиотеки. Вы можете скачать его с веб-сайта Spring или Maven. Вы можете скачать его с веб-сайта Spring или Maven.
org.springframework spring 2.5.6 org.springframework spring-web 2.5.6 org.springframework spring-struts 2.0.8
2. Подключаемый модуль регистровых стоек
В вашем файле конфигурации Struts (struts-config.xml ), зарегистрируйте плагин готовых распорок пружины – ” ContextLoaderPlugIn “.
В вашем файле конфигурации Struts (struts-config.xml ), зарегистрируйте плагин готовых распорок пружины – “||ContextLoaderPlugIn||”.
” ContextLoaderPlugIn ” будет выполнять всю работу по интеграции между стойками и пружиной. Вы можете загрузить xml-файл компонента Spring в свойство ” contextConfigLocation “.
Вы можете загрузить xml-файл компонента Spring в свойство “||contextConfigLocation ||”.
3. Поддержка действий весны
В классе действия Struts расширяет класс Spring ” ActionSupport ” и получает компонент Spring с помощью метода ” getWebApplicationContext() “.
В классе действия Struts расширяет класс Spring “||ActionSupport|| ” и получает компонент Spring с помощью метода “||getWebApplicationContext()||”.
Действие Распорок
package com.mkyong.customer.action; import java.util.List; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.apache.struts.action.ActionForm; import org.apache.struts.action.ActionForward; import org.apache.struts.action.ActionMapping; import org.springframework.web.struts.ActionSupport; import com.mkyong.customer.bo.CustomerBo; import com.mkyong.customer.model.Customer; public class ListCustomerAction extends ActionSupport{ public ActionForward execute(ActionMapping mapping,ActionForm form, HttpServletRequest request,HttpServletResponse response) throws Exception { CustomerBo customerBo = (CustomerBo) getWebApplicationContext().getBean("customerBo"); ... return mapping.findForward("success"); } }
Сделано.
Оригинал: “https://mkyong.com/struts/struts-spring-integration-example/”