说明:
依赖注入(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;
}
}
分享到:
相关推荐
NULL 博文链接:https://hw1287789687.iteye.com/blog/1949399
struts hibernate spring 集成时使用依赖注入的方式的秘籍,看看
完全可以跑通的例子。仅供大家参考。如有问题请留言:lxsoftware.engineer@gmail.com
struts2.0的特点 1、form是一个pojo 2、action是一个pojo,所以... 3、支持依赖注入,主要借助于spring来实现 4、支持拦截处理,相当于是aop 综上struts2.0吸了spring及webwork2的优点,是 强强联合的产品。
Struts2在Action里注入EJB必须的包,因为Struts2 的Action是普通的Java类(po),不能直接将EJB注入,所以需要依赖这个包
答案是使用IoC(反转控制,Inversion of Control),也叫“依赖注入(Dependency Injection)”的模式(想更多地了解这方面信息请看Martin Fowler的文章http://www.martinfowler.com/articles/injection.html)。...
11.1.2 Struts 2如何解决本地Java对i18n支持的问题 243 11.2 Struts 2 i18n示例 244 11.2.1 Struts 2 i18n快速展示 244 11.2.2 幕后一览 246 11.3 Struts 2 i18n详情 247 11.3.1 Struts 2默认的TextProvider Re-...
最后,依赖注入也成了Struts2王国中的一等公民,这项功能是通过Spring框架的插件和Plexus共同提供的,与PicoContainer的结合工作还正在进行中。 本书的目的,是为了帮助读者掌握Struts2框架,并能够对组成框架的功能...
用struts2+spring的资源依赖注入完成的购物程序
Struts2+Hibernate+Spring整合实例,登陆注册实例,简单来说,Spring通过IoC容器上管(Struts2)Action的创建并依赖注入给控制器,下管(hibernate)SessionFactory的创建并依赖注入给DAO组件,是一个巨大的工厂
跟随作者一道深入Struts 2,聆听大量来之不易的经验之谈,你对Struts 2开发框架的理解和应用水平都将更上一层楼。本书适合Java Web 程序员阅读和参考 第1章 Model 2应用程序 1 1.1 Model 2概览 1 1.2 带servlet...
spring hibernate struts 框架整合 依赖注入 实现增删改查
Hibernate3、Struts2和Spring2是三个常用的开源框架,它们分别用于数据持久化、Web应用开发和依赖注入。这个名为“内容管理系统(hibernate3+struts2+spring2).rar”的压缩包,包含了一个基于Hibernate3、Struts2和...
struts2 spring hibernate 整合: 三者整合通过查询oracle数据库中的用户登录界面,最简单的配置。...struts.xml web.xml application.xml怎样配置,怎样依赖注入才能实现整合,显示出页面?请看这篇文档
基于SSH(Struts2、Spring与Hibernate)框架的学生成绩管理系统 (1) 整合Struts2、Spring和...+ 掌握Spring的开发步骤,理解依赖注入、AOP、事务管理等 + 掌握Struts2、Spring和Hibernate框架的整合 + 掌握分页技术
而Hibernate3、Struts2和Spring2是三个常用的Java开发框架,它们分别用于数据持久化、Web应用开发和依赖注入。这个名为“130224.rar”的压缩文件包含了一个基于Hibernate3、Struts2和Spring2的内容管理系统的JSP源码...
Struts和Spring的集成:将Struts的Action作为Spring当中的受管Bean,通过依赖注入将完成业务功能的Bean注入到Action中,使得Action很容易的访问到完成业务的Bean,具体参看前面介绍的一些配置文件。
做了一个ssh2的整合示例,删除了示例中的jar包,资源太大传不上,该示例采用的目前主流的技术struts2.1+hibernate3.2+spring2.5 的整合开发,示例采用面向接口的设计开发模式,使用spring来管理hibernate的事务,...