Рубрики
Без рубрики

Пример интеграции стоек 2 + пружины

– Распорки 2 + Пример интеграции пружин

В этом руководстве показана интеграция между 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

	pages/user.jsp


//applicationContext.xml

		

Чтобы получить доступ к этому действию, используйте 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;
		
	}
}

Действительно длинная и утомительная статья, убедитесь, что вы загрузили полный исходный код проекта для практики.

Ссылка

  1. Документация по плагину Struts 2 Spring
  2. Пример интеграции стоек + пружин

Оригинал: “https://mkyong.com/struts2/struts-2-spring-integration-example/”