第一种方式:className
用注解配置action 是:@Action(value="/action"),但将注解和spring联系起来,我们看文档知道,只需要@Action(value="/action" className="spring中的ID"),这样,当放问这个action时,struts2就向spring要action,spring则会通过这个className来匹配id,然后返回匹配的action类的实例。
import org.apache.struts2.convention.annotation.Action;
import org.xuliang.services.MyUserService;
import org.xuliang.vos.LoginVo;
public class MyLoginAction {
private LoginVo lv = new LoginVo();
private MyUserService mus;
@Action(value="/mylogin")
public String login(){
System.out.println(this.hashCode());//这里输出这个类的实例的hashCode码
System.out.println(lv.getUpwd()+"====="+lv.getUname());
mus.findUserByUnameUpwd(lv.getUname(), lv.getUpwd());
return null;
}
public MyUserService getMus() {
return mus;
}
public void setMus(MyUserService mus) {
this.mus = mus;
}
public LoginVo getLv() {
return lv;
}
public void setLv(LoginVo lv) {
this.lv = lv;
}
}
注:当上面的this.hashCode()可以看出这个类的实例是由Spring生产的还是Struts2生产的,当你配置的ClassName在Beans.xml中找不到指定的id时或不配置className(其中也除了在beans.xml中有bean的Id配置这个类的全名),就由Struts2产生,否则是Spring产生
Spring对应的ID的Bean产生的
当Spring中的Beans.xml中配置Scopt="Single" 如果输出的hashCode是一样的则是Spring产生的,反之是Struts2产生的
另外一种方式:不用配className,直降在spring里面配置这个类的全名org.hzy.actions.MyLoginAction则可以,
注解中,是不需要为action指定class这个属性的,其实并不代表这个属性不存在,这个属性的值就是@Action所在的类名,当访问没有设置className属性的action时,struts2找spring要Action,spring就通过这个action类的全名来匹配id的bean,所以,所以我们将这个bean的id设置为action的类名时,spring就能匹配到,这样的配置方式使得spring和struts2解藕度就很好.
分享到:
相关推荐
"Struts2 零配置"是Struts2的一种特性,允许开发者在不编写大量XML配置文件的情况下,快速搭建和运行应用程序。这主要得益于Struts2的插件机制和注解支持。 首先,Struts2的零配置主要依赖于以下两个核心概念: 1....
struts2 spring4 hibernate4 Struts2零配置基本架包 struts2-json-plugin-2.5.5.jar struts2-convention-plugin-2.5.5.jar
总结来说,"零配置spring 整合cxf、struts2"是一个旨在减少XML配置,通过注解驱动实现Spring、CXF和Struts2无缝集成的实践。通过这种方式,开发者可以专注于业务逻辑,提高开发效率,同时降低维护成本。在实际开发中...
本项目"Struts+Spring+Hibernate注解零配置整合"的目标是展示如何通过注解方式实现这三大框架的无缝集成,从而减少XML配置文件的使用,提高开发效率和代码可读性。 在传统的Struts、Spring和Hibernate整合中,大量...
Spring4.0+Hibernate4.0+Struts2.3整合案例:实现增删改查。 ===================== application.xml: xmlns="http://www.springframework.org/schema/beans" xmlns:xsi=...
在本项目中,"Spring3.1+Hibernate4.0+Struts2.3.1 零配置功能已实现"表示的是一个基于三大主流Java Web框架——Spring、Hibernate和Struts2的集成应用,且重点在于使用了注解(Annotation)进行零配置设置。...
在Struts2中,注解的引入使得开发者可以摆脱繁琐的`struts.xml`配置文件,实现“零配置”运行。 首先,让我们了解什么是注解(Annotation)。注解是Java提供的一种元数据机制,允许在源代码中嵌入信息,这些信息...
在这个“Struts2+Spring3+Hibernate4零配置所需全部jar包”中,包含了这三个框架运行所必需的库文件,使得开发者无需逐一配置,可以直接在项目中引用这些jar包进行开发。 首先,让我们详细了解一下Struts2框架。...
在这个“spring4+struts2.3.16.3+hibernate4.3.6零配置”项目中,我们将探讨如何在不编写大量XML配置的情况下,利用这些框架的最新版本进行开发。 首先,Spring 4.0.7 是一个全面的轻量级框架,提供依赖注入(DI)、...
本文将深入探讨Struts2中的常量配置,包括基本的XML配置以及零配置的Convention模式下的常量设定。 首先,让我们了解Struts2框架中的常量配置。这些常量定义在`struts-default.xml`和`struts-plugin.xml`等配置文件...
4. **整合配置**:设置Struts2、Spring和Hibernate的整合,包括Struts2的插件配置,Spring对Hibernate SessionFactory的管理,以及如何在Action中注入Service和DAO。 5. **事务管理**:探讨Spring如何通过AOP进行...
在这个"struts2.3.4.1+spring-3.2.0.M2注解零配置"的示例中,我们将探讨如何使用注解来实现这两个框架的整合,从而达到无XML配置的简洁开发方式。Eclipse 7.0作为开发工具,与JDK 7.0的组合,为开发者提供了高效的...
struts2中的零配置与IOC struts2介绍之使用连接标签 struts2入门 struts2进阶学习一 struts2进阶学习二 struts2进阶学习三 struts2进阶学习四 struts2进阶学习一 struts2进阶学习一 struts2进阶学习一 struts2进阶...
因此,我们将详细介绍如何从零开始配置Struts2框架,包括下载安装、项目搭建、配置文件编写等内容。 #### 二、下载Struts2最新版本 首先,访问Struts2官网http://www.struts.apache.org/download.cgi 下载最新版本...
2. **Struts2配置**:尽管名为"零配置",但实际应用中仍然需要一些基础配置,例如在struts.xml文件中配置Action类及其对应的URL路径,以及结果页面的跳转。 3. **Spring Bean管理**:Spring容器会自动扫描并管理...
1. **配置环境**:确保JDK、Tomcat等基础环境安装到位,同时下载并引入Struts2、Spring4和MyBatis3的jar包。 2. **配置Struts2**:编写struts.xml配置文件,定义Action类及其对应的URL,设置拦截器栈。 3. **配置...
这个“struts2.3.4.1+spring3.2.0.M2+hibernate4.1.8注解零配置”项目是一个演示了如何在不编写XML配置文件的情况下,仅通过注解来实现一个简单的登录应用。 **Struts2** 是一个流行的MVC框架,它负责处理HTTP请求...
SSH是Java Web开发中的经典框架组合,包括Spring、Struts2和Hibernate。在这个项目中,SSH框架被结合使用,实现了零配置的增删改查功能,这对于初学者来说是一个很好的学习资源,因为开发者可以直接在MyEclipse环境...
Jboss7上+maven搭建struts2+spring3+hibernate3完整能运行工程源码,在tomcat7上运行也成功测试了,注意:我工程文件是用myeclipse2013开发的,你需要导入...struts2采用零配置,不懂struts2零配置的学习之后再研究代码。
在这个"struts2.3.4.1注解零配置"的例子中,我们将深入探讨如何利用Struts2的注解来构建一个简单的登录系统。 首先,了解Struts2的核心概念是必要的。Struts2是一个基于MVC(Model-View-Controller)设计模式的框架...