В этом руководстве показана интеграция между Struts2 и Spring.
1. Структура проекта
Вот структура папок проекта этого руководства.
2. Распорки 2 + Пружинный Плагин
Чтобы интегрировать стойки 2 и пружину, получите и включите ” struts2-spring-plugin-xxx.jar “библиотека в путь к классам вашего проекта.
Чтобы интегрировать стойки 2 и пружину, получите и включите “|| struts2-spring-plugin-xxx.jar || “библиотека в путь к классам вашего проекта.
org.apache.struts struts2-core 2.1.8 org.springframework spring 2.5.6 org.springframework spring-web 2.5.6 org.apache.struts struts2-spring-plugin 2.1.8
3. Весенний слушатель
Настройте прослушиватель Spring” org.springframework.web.контекст. ContextLoaderListener “в web.xml файл.
ContextLoaderListener || “в || web.xml || файл.
Struts 2 Web Application struts2 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter struts2 /* org.springframework.web.context.ContextLoaderListener
3. Зарегистрировать Весенний Боб
Зарегистрируйте все весенние бобы в applicationContext.xml файл, прослушиватель Spring автоматически найдет этот xml-файл.
Зарегистрируйте все весенние бобы в || applicationContext.xml ||файл, прослушиватель Spring автоматически найдет этот xml-файл.
Зарегистрируйте все весенние бобы в || applicationContext.xml ||файл, прослушиватель Spring автоматически найдет этот xml-файл.
package com.mkyong.user.bo; public interface UserBo{ public void printUser(); }
Зарегистрируйте все весенние бобы в || applicationContext.xml ||файл, прослушиватель Spring автоматически найдет этот xml-файл.
package com.mkyong.user.bo.impl; import com.mkyong.user.bo.UserBo; public class UserBoImpl implements UserBo{ public void printUser(){ System.out.println("printUser() is executed..."); } }
Зарегистрируйте все весенние бобы в || applicationContext.xml ||файл, прослушиватель Spring автоматически найдет этот xml-файл.
package com.mkyong.user.action; import com.mkyong.user.bo.UserBo; public class UserSpringAction{ //DI via Spring UserBo userBo; public UserBo getUserBo() { return userBo; } public void setUserBo(UserBo userBo) { this.userBo = userBo; } public String execute() throws Exception { userBo.printUser(); return "success"; } }
5. Зарегистрируйте все весенние бобы в || applicationContext.xml ||файл, прослушиватель Spring автоматически найдет этот xml-файл.
Объявил все отношения здесь.
pages/user.jsp pages/user.jsp
6. Демонстрация
Теперь вся работа по интеграции Struts2 и Spring завершена, теперь смотрите следующий пример использования для доступа к компоненту Spring ” userdao “.
- Случай 1: Заставьте Spring действовать как класс действий Struts2 и получите доступ к компоненту Spring.
- Случай 2: Доступ к компоненту Spring в классе действий Struts 2.
Случай 1
В этом примере userSpringAction действует как класс действий Struts2, и вы можете использовать компонент userdao Spring обычным способом Spring.
//struts.xml//applicationContext.xml pages/user.jsp
Чтобы получить доступ к этому действию, используйте URL-адрес: http://localhost:8080/Struts2Example/userSpringAction
Случай 2
По умолчанию прослушиватель Spring включает ” автоматическое подключение путем сопоставления имени компонента “. Таким образом, он передаст компонент Spring ” userBo ” в действие пользователя через setUserBo() автоматически. Смотрите ниже Действие Распорки 2:
Смотрите ниже Действие Распорки 2:
package com.mkyong.user.action; import com.mkyong.user.bo.UserBo; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport{ //DI via Spring UserBo userBo; public UserBo getUserBo() { return userBo; } public void setUserBo(UserBo userBo) { this.userBo = userBo; } public String execute() throws Exception { userBo.printUser(); return SUCCESS; } }
Чтобы получить доступ к этому действию, используйте URL-адрес: http://localhost:8080/Struts2Example/userAction
package com.mkyong.user.action; import org.apache.struts2.ServletActionContext; import org.springframework.web.context.WebApplicationContext; import org.springframework.web.context.support.WebApplicationContextUtils; import com.mkyong.user.bo.UserBo; import com.opensymphony.xwork2.ActionSupport; public class UserAction extends ActionSupport{ public String execute() throws Exception { WebApplicationContext context = WebApplicationContextUtils.getRequiredWebApplicationContext( ServletActionContext.getServletContext() ); UserBo userBo1 = (UserBo)context.getBean("userBo"); userBo1.printUser(); return SUCCESS; } }
Действительно длинная и утомительная статья, убедитесь, что вы загрузили полный исходный код проекта для практики.
Ссылка
Оригинал: “https://mkyong.com/struts2/struts-2-spring-integration-example/”