struts2 ioc 配置

1.添加struts2的基础类包到工程

2.添加struts-spring-ploguin.jar到工程

3.添加spring.jar

4.在web.xml中配置 struts dispatcher 和 springContextListner
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>

5.2种方式的注入

1.是通过spring 管理 action
在spring 的bean中定义要注入的类bean和action类bean,在struts.xml只配置action类bean的result和action

applicationContext.xml
<? xml version="1.0" encoding="UTF-8" ?>
< beans xmlns ="http://www.springframework.org/schema/beans"
xmlns:xsi ="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation ="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd" >
< bean id ="chatService" class ="tutorial.ChatServiceImpl" />  //要注入的属性
< bean id ="chatAction" class ="tutorial.ChatAction" scope ="prototype" (这个设置申请的action的类都是新建的,给每个用户不一样的action类)>
< property name ="chatService" >
< ref local ="chatService" />
</ property >
</ bean >
</ beans >


struts.xml配置如下

<! DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
"http://struts.apache.org/dtds/struts-2.0.dtd" >
< struts >
< include file ="struts-default.xml" />

< package name ="Struts2_IoC" extends ="struts-default" >
< action name ="Chat" class ="chatAction" (不是原来的类的写法)>
< result > /UserList.jsp </ result >
</ action >
</ package >
</ struts >

2.通过注入方式实现管理

通webwork的ioc注入

默认采用name类型的注入

struts.properties里面可以通过
struts.objectFactory.spring.autoWire=name(可以有name,type,construts)
或者在struts.xml中设置
<constant name="struts.objectFactory.spring.autoWire" value="type"/>
设置

在applicationContext中只设置要注入的那个属性
然后在action的类中包含一个该属性的set函数就可以注入了,其他同原本的action配置一样

 

阅读更多

没有更多推荐了,返回首页