struts spring整合4種方法

2021-08-31 05:12:56 字數 1769 閱讀 4233

struts spring 整合

論壇中用struts+spring的人不少,以前的帖子也有問過struts+spring的整合方式。前面的帖子中readonly老大曾經提到過spring2.0新增加的乙個整合方式。今天簡單把這幾種整合方式小結一下。

下面著重談一下spring2.0新增的乙個整個方式,我感覺挺不錯,可以完全將struts的配置和spring的配置分離。具體步驟如下:

引用<?xml version="1.0" encoding="utf-8"?>

這看上去就和普通的spring配置檔案沒有任何分別。

2. 編寫struts的配置檔案struts-config.xml,注意其中的controller的配置,用到了spring2.0的新特性。

引用<?xml version="1.0" encoding="utf-8"?>

type="com.bearingpoint.gdc.zero.action.user.adduser"

scope="request"

>

3. 然後為你的struts的action注入你需要的service

引用private userservice userservice;

user user = new user();

userservice.adduser(user);

} /**

* @param userservice

* the userservice to set.

*/ public void setuserservice(userservice userservice)

看上去你好像啥都沒做,而事實上,注入工作已經由autowiringrequestprocessor自動完成。

4. 編寫web.xml進行測試。

引用?xml version="1.0" ?>

org.springframework.web.context.contextloaderlistener

struts

org.apache.struts.action.actionservlet

config

/web-inf/classes/struts-config.xml

detail 2

validate

true 2

*.do

index.jsp

最後,啟動jetty進行測試,順利執行通過!

看上去如此簡單,配置起來也沒有什麼很特別的地方,只是按照常規來寫你的spring和struts的配置檔案就好了。

不過在這裡還是說一下其中的要注意兩個問題:

1. 這種autowire的注入支援兩種不同的方式,分別是byname和bytype,預設是bytype。我想這對於絕大多數開發者來說是夠了。 對於byname的形式,就在web.xml中新增

autowire

byname

即可2. 鑑於在中所提到的opensessioninview模式的失效的問題。我仔細看了一下spring的原始碼。對於這種autowire的整合方式,不推薦在struts-config.xml檔案中配置contextloaderplugin,而是採用web.xml中的contextloaderlistener來載入spring的初始化配置。否則,你的opensessioninview模式可能會失效。

3.可以建立乙個baseaction類...把setter都放到裡面去

4.對於aciton 的execute方法以外的方法呼叫,spring將不能完成自動注入。

struts spring整合測試

struts spring整合有3種方式,通過查閱資料得知,將servlet action 委託給spring來管理的這種方式優勢最為顯著.本次struts spring整合測試就是採用委託的方法。實施步聚 首先在struts config.xml檔案中註冊spring外掛程式,如下所示。plug ...

struts spring整合測試

b url 百事通資訊網 url b struts spring整合有3種方式,通過查閱資料得知,將servlet action 委託給spring來管理的這種方式優勢最為顯著.本次struts spring整合測試就是採用委託的方法。實施步聚 首先在struts config.xml檔案中註冊sp...

struts spring 整合方式

1.第一種實現方法 1 將 struts 的業務邏輯控制器類配置在 spring 的配置檔案中,業務邏輯控制器中引用的業務類一併注入。注意,必須將業務邏輯控制器類配置為 scope prototype 示例如下 2 在 struts.xml 或者等效的 struts2 配置檔案中配置 action ...