`
jiayj198609
  • 浏览: 149881 次
  • 性别: Icon_minigender_1
  • 来自: 大连
社区版块
存档分类
最新评论

struts2对依赖注入的支持

阅读更多
说明:
依赖注入(Dependency Injection)还有一个名字,即控制反转(Inversion of Control,IoC)。

什么是控制反转呢?
     控制反转就是由容器控制对象之间的关系,而非传统现实中,由程序代码直接操控。控制权由应用程序转移到了外部容器,这种控制权的转移即控制反转。

什么是依赖注入?
     依赖注入将对象创建和对象链接的责任从对象自身转移到了IoC容器,由容器在运行期间将对象之间的依赖关系注入到对象之中。
     依赖注入和控制反转表述的是同一个意思。


开发步骤
    1.将struts2提供的spring插间struts2-spring-plugin-2.0.11.jar和spring的jar包放到lib目录下。编写web.xml,配置spring监听器

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<welcome-file-list>
   <welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<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>
</web-app>

    2.编写spring的配置文件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 ="userDao" class ="org.sunxin.struts2.persistence.dao.UserDao"/>
</beans>
   3.修改RegistrterAction.java

package org.sunxin.struts2.action;
import java.util.Date;
import org.sunxin.struts2.persistence.dao.UserDao;
import org.sunxin.struts2.persistence.entity.User;
import com.opensymphony.xwork2.ActionSupport;
public class RegisterAction extends ActionSupport
{
private static final long serialVersionUID = 3970199804617664569L;
private User user;
private UserDao userDao;

/**
   * 在构造方法中初始化UserDao对象
   */
/*public RegisterAction()
{
   userDao = new UserDao();
}*/

public void setUserDao(UserDao userDao)
{
   this.userDao = userDao;
}

/**
   * 请求register!default.action,调用doDefault方法
   */
@Override
public String doDefault() throws Exception
{
   return INPUT;
}
/**
   * 调用UserDao的register方法注册用户
   */
@Override
public String execute() throws Exception
{
   user.setRegDate(new Date());   //注意不要忘了设置注册日期
   userDao.register(user);
   return SUCCESS;
}

/**
   * 为user对象提供getter方法
   * @return
   */
public User getUser()
{
   return user;
}
/**
   * 为user对象提供setter方法
   * @param user
   */
public void setUser(User user)
{
   this.user = user;
}



分享到:
评论

相关推荐

    struts2 依赖注入boolean类型的属性时报错

    Struts2是一个流行的Java web框架,它提供了许多功能来简化应用程序开发,包括依赖注入(DI)。在使用Struts2时,有时可能会遇到依赖注入boolean类型属性时出现错误的问题。这个问题通常与框架对boolean类型的处理...

    Struts2开发依赖包

    6. **Struts2 Spring Integration**:如果项目使用Spring框架进行依赖注入,那么这个插件是必须的,它使得Struts2可以与Spring无缝集成,管理Action的生命周期。 7. **Commons Logging**:Struts2依赖于Apache ...

    struts2 基本依赖包(来自官网)

    然而,许多开发者会将两者结合使用,以利用Spring的依赖注入(DI)和面向切面编程(AOP)功能来增强Struts2应用的可维护性和灵活性。 6. **Spring4.x**:这个标签表明了Struts2可能与Spring 4.x版本兼容,Spring 4.x...

    Struts2+spring依赖注入+Hibernate+Dwr

    这个“Struts2+spring依赖注入+Hibernate+Dwr”的例子,是一个综合性的Web应用程序示例,旨在展示这四个技术如何协同工作。 Struts2作为MVC(模型-视图-控制器)框架,主要负责处理HTTP请求,调度控制流程,并将...

    Struts2.1.8所依赖的主要包

    9. **struts2-spring-plugin.jar**(如果使用Spring):如果应用集成了Spring框架,这个插件使得Struts2可以与Spring无缝协作,进行依赖注入和管理Action实例。 以上每个JAR包都扮演着重要的角色,共同构建了Struts...

    struts hibernate spring 集成时使用依赖注入的方式的秘籍

    Struts、Hibernate和Spring是Java开发中非常流行的三大框架,它们各自在Web应用程序的不同层面上发挥作用:Struts处理MVC模式中的Controller部分,Hibernate负责数据持久化,而Spring则提供了全面的依赖注入...

    struts2.3.34依赖jar包

    8. **Spring集成**:如果项目使用Spring框架,`struts2-spring-plugin.jar` 可以帮助整合Struts2与Spring的依赖注入和事务管理。 9. **测试支持**:Struts2提供了测试工具,如`struts2-test-plugin.jar`,方便进行...

    struts1和struts2的区别

    通过上述对比可以看出,Struts2相比Struts1在很多方面进行了改进和优化,尤其是在灵活性、可测试性以及对现代Web开发的支持上有着显著的优势。尽管如此,在某些特定的应用场景下,Struts1可能仍然有其适用之处。选择...

    struts2.x所需要的支持类库,内附struts2的学习资料

    - **Struts2与Spring集成(struts2-spring-plugin)**:允许开发者使用Spring管理Action和其它依赖,实现依赖注入,提高代码的可测试性和解耦。 - **Struts2与i18n(internationalization)**:为多语言支持提供便利,...

    struts2中文学习文档

    5. **依赖注入**:Struts2支持依赖注入,可以方便地管理组件之间的依赖关系,提高代码的可测试性和可维护性。 6. **集成其他框架**:Struts2可以很容易地与其他流行框架(如Spring、Hibernate)进行集成,形成一个...

    struts-2.2.3基本依赖包

    8. **Spring Framework**:虽然不是必须的,但很多项目会将Struts 2与Spring框架集成,实现依赖注入和事务管理。 9. **Tiles**:一个布局框架,可以帮助组织和复用页面结构,提高应用的可维护性。 在`lib`目录下的...

    struts2框架基础jar包

    7. **Spring整合**:如果项目中使用了Spring框架,`struts2-spring-plugin.jar`可以帮助无缝集成,实现依赖注入和事务管理。 8. **Action的生命周期**:一个典型的Struts2 Action实例会经历创建、初始化、执行、...

    Struts2单元测试

    6. **依赖注入测试**:Struts2支持依赖注入(DI),测试时应确保依赖项被正确地注入到Action类或其他组件中。 在使用Struts2单元测试jar包时,开发者可以利用JUnit等测试框架,结合Mockito、PowerMock等工具来编写...

    struts2的各种jar包

    10. **插件系统**:Struts2的插件机制使得扩展和定制变得容易,比如Spring插件可以实现依赖注入,i18n插件处理国际化问题。 11. **开发工具集成**:Eclipse、IntelliJ IDEA等IDE都有Struts2的插件,可以帮助开发者...

    搭建struts2的jar包

    Struts2框架依赖于多个库,包括核心库、依赖注入、异常处理、国际化、插件支持等多个方面。这些库由不同的jar包提供,例如: 1. **Struts2 Core**: 这个jar包包含了Struts2框架的核心组件,如Action、Result、...

    struts2-blank

    7. **依赖注入**:Struts2支持依赖注入(DI),可以通过注解或XML配置将服务注入到Action中,简化代码结构。 8. **国际化(i18n)**:Struts2提供对多语言的支持,可以在资源文件中定义不同语言的文本,方便应用的...

    Struts2主要Lib

    8. **依赖注入(Dependency Injection, DI)**:Struts2支持Spring的DI机制,可以方便地管理和注入Action类所需的依赖对象。 9. **异常处理**:Struts2提供了一套全面的异常处理机制,通过配置`...

    struts2小练习

    7. **依赖注入(DI)**:Struts2支持依赖注入,使得对象之间的依赖关系可以通过配置文件进行管理,而不是硬编码。这样可以使代码更易于测试和维护。 8. **插件系统**:Struts2有丰富的插件支持,例如Struts2-...

    Struts2与Struts1区别

    而 Struts2 Action 可以通过依赖注入进行初始化和测试,提高了测试的便利性。 5. **输入数据的处理**: - Struts1 使用 ActionForm 来捕获用户输入,ActionForm 必须继承基类,有时会造成额外的类定义。Struts2 则...

    Struts2SpringUnitDemo单元测试

    这两个框架都是Java Web开发中的关键组件,Struts2负责控制层逻辑,Spring则提供了全面的依赖注入(DI)和面向切面编程(AOP)功能,以及对数据访问层的支持。 1. **Struts2框架**:Struts2是一个开源的MVC框架,...

Global site tag (gtag.js) - Google Analytics