Spring整合开发---Struts 2(注解…

本文通过一个简单的示例展示了如何将Spring框架与Struts 2整合,包括配置过程和代码实现。从搭建Web项目开始,介绍了所需JAR包的获取方式,详细解释了web.xml、struts.xml及applicationContext.xml等关键配置文件的设置,并给出了DAO层、BIZ层及Action层的具体实现。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先来看下Spring 的一些优点吧:
◆J2EE应该更加容易使用。
◆面向对象的设计比任何实现技术(比如J2EE)都重要。
◆面向接口编程,而不是针对类编程。Spring将使用接口的复杂度降低到零。(面向接口编程有哪些复杂度?)
◆代码应该易于测试。Spring框架会帮助你,使代码的测试更加简单。
◆JavaBean提供了应用程序配置的最好方法。
◆在Java中,已检查异常(Checked exception)被过度使用。框架不应该迫使你捕获不能恢复的异常

先搞个简单的整合示例,以此来剥析Spring带来的巨大好处:
1.先新建个Web项目
2.找到几个应用到了的jar包,如果你个MyEclipse的话,可以通过项目右键MyEclipse选项获得相关支持jar包
好吧,我直接上图:
Spring整合开发---Struts <wbr>2(注解版)
哈哈,是不是很精简,我们接着下一步:
将struts.xml文件和applicationContext.xml文件添加到项目的src目录下。
接下来就是向Web应用程序进行注册:在WEB-INF目录的web.xml中添加如下信息:
    <!-- Spring配置 -->
  <context-param>
    <param-name>contextConfigLocation</param-name>
    <param-value>classpath:applicationContext.xml</param-value>
  </context-param>
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
  <!-- Struts 2 配置 -->
  <filter>
  <filter-name>struts2</filter-name>
  <filter-class>
  org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteF ilter
  </filter-class>
  </filter>
  <filter-mapping>
  <filter-name>struts2</filter-name>
  <url-pattern>*.action</url-pattern>
  <url-pattern>*.jsp</url-pattern>
  </filter-mapping>
配置web.xml文件之后,我们来写几个接口来玩玩:
DAO层接口:
public interface IStuffDao {
public abstract void add();
}
DAO层接口实现类(采用注解方式):
@Component("stuffDao")
public class StuffDaoImpl implements IStuffDao {
public void add(){
System.out.println("我是 StuffDAO");
}
}
BIZ层接口:
public interface IStuffBiz {
public abstract void add();
}
BIZ层接口实现类(采用注解方式实现--Spring的依赖注入):
@Component("stuffBIZ")
public class StuffBizImpl implements IStuffBiz {
private IStuffDao stuffDao;
public IStuffDao getStuffDao() {
return stuffDao;
}
@Resource(name="stuffDao")
public void setStuffDao(IStuffDao stuffDao) {
this.stuffDao = stuffDao;
}
public void add() {
stuffDao.add();
}
}
好吧,我得在写个Action,来实现整合(也是注解):
@Service
public class UserAction {//spring控制反转,默认ID为userAction
private IStuffBiz stuffBiz;
public IStuffBiz getStuffBiz() {
return stuffBiz;
}
@Resource
public void setStuffBiz(IStuffBiz stuffBiz) {
this.stuffBiz = stuffBiz;
}
public String add(){
stuffBiz.add();
return "success";
}
}
来来来,我们配置下struts.xml文件:
<package name="system" namespace="/" extends="struts-default">
<action name="user" class="userAction" method="add">  
    <result name="success">/index.jsp</result>
      </action> 
</package>
配置下applicationContext.xml文件:
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
xsi:schemaLocation="http://www.springframework.org/schema/beans 
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-3.0.xsd" >
<!-- 配置Spring上下文的注解 扫描包的注解-->
<context:component-scan base-package="com.lovesmile.oa" />
</beans>
接下来就是测试了,你会了吗...

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值