探索与发现

研究java技术

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  83 随笔 :: 0 文章 :: 109 评论 :: 0 Trackbacks

在WebWork 2.2.x 之后,它将直接内建支持spring ioc了,所以更加简单了,,
做个例子
第一步:在web-inf下建一个webwork.properties文件,
内容为
webwork.objectFactory = spring
第二步:也就是加载applicationContext.xml,可以采取前面前的两种之一,,这里采用后面那种
<listener>
  <listener-class>
   org.springframework.web.context.ContextLoaderListener
  </listener-class>
 </listener>
第三步:创建要装载的实例,在applicationContext.xml(采用监听的方式,记住默认的位置是在web-inf下面)
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<beans default-autowire="autodetect"> <!--记注一定要加上-->
  <bean id="userManager" singleton="true" class="helloWorld.UserManager"/>
</beans>
第四步:在修改我原来的例子
HelloWorldAction.java

package helloWorld;
import com.opensymphony.xwork.ActionSupport;
public class HelloWorldAction extends ActionSupport{

    String greeting;
    UserManager userManager;
    public void setGreeting(String greeting) {
        this.greeting = greeting;
    }

    public String getGreeting() {
        return greeting;
    }
    public UserManager getUserManager() {
  return userManager;
 }

 public void setUserManager(UserManager userManager) {
  this.userManager = userManager;
 }

 public String execute() throws Exception {
  userManager.sayHello();
  System.out.println("after userManager.sayHello()");
        if (greeting.equals("") || greeting == null) {
            addFieldError("greeting", getText("greeting"));
            return ERROR;
        }
        return SUCCESS;
    }
}
而UserManager.java类如下
package helloWorld;
public class UserManager {
 public UserManager()
 {
  System.out.println("create instance of UserManger");
 }
 public void sayHello()
 {
  System.out.println("hello zjh");
 }
}
再访问http://localhost:8080/WebWork/index.jsp提交后在tomcat console窗口打印出
hello zjh
after userManager.sayHello()

posted on 2006-08-03 07:29 蜘蛛 阅读(1390) 评论(2)  编辑  收藏 所属分类: webwork

评论

# re: webwork使用spring ioc集成 2006-08-03 09:12 jspark
其实不一定要加上

<beans default-autowire="autodetect"> <!--记注一定要加上-->
<bean id="userManager" singleton="true" class="helloWorld.UserManager"/>
</beans>

只要在webwork.properties加上配置属性webwork.objectFactory.spring.autoWire = type就可以  回复  更多评论
  

# re: webwork使用spring ioc集成 2006-08-03 09:48 蜘蛛
-->jspark
谢谢指点,刚试了一下你那种方法,是可以  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: