Struts2和Spring整合中的Action是由谁创建的,有什么区别?-问答-阿里云开发者社区-阿里云

开发者社区> 问答> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Struts2和Spring整合中的Action是由谁创建的,有什么区别?

2016-03-05 11:13:37 2013 1

以下配置均未在Struts配置文件中加入<constant name="struts.objectFactory" value="spring" />

情况说明如下:登录页面提交到Action中,Action在execute方法中调用ms对象中的valid方法进行验证,返回SUCCESS.

在Action的构造方法中输出一行文字

第一种情况:在Struts中配置Action,配置name,class配置成Spring中Action类的Bean ID,不指定调用方法。spring中配置Action Bean,class配置实际类名,并显示指定ms Bean的引用。这时Action由Sping来创建。构造方法输出两行

第二种情况:在Struts中配置Action,配置name,class配置成实际类名。spring中只配置ms Bean的引用,进行自动装配。这时Action由Spring进行创建。构造方法输出一行

第三种情况,在Struts中配置Action,配置name,class配置成实际类名,指定方法名不为默认的execute,为任意其他,例如test,这个方法调用ms对象中的valid方法进行验证。spring中配置Action Bean,class配置实际类名,并显示指定ms Bean的引用。这时也是可以成功的。构造方法输出一行

第三种情况中,如果Struts中不指定方法,或者指定execute方法,均报错。虽然报错,但是控制台输出一行Action构造方法中的文字。

想问一下第三种情况的Action由谁来创建,Struts创建和Spring来创建有什么区别

取消 提交回答
全部回答(1)
  • 小旋风柴进
    2019-07-17 18:53:04

    只要是struts2的action,肯定是由struts2创建的,当你写了@Controller之后,对象就会交由spring 来管理,然后第三种时,你试着,在action 获得service层的引用,就知道了,你这个调用到的action是struts 创建的(同时spring也用创建一个,但没有被用到),并没有被spring管理,没法和spring ioc管理的bean很流畅的操作的,你想调用service时,需用getBean的方法从容器中取到sercie,

    0 0
相关问答

1

回答

Spring Boot 2.5 实战开发 REST API,如何模拟淘宝订单接口?

2021-12-23 16:57:32 438浏览量 回答数 1

1

回答

Spring Boot的特点是什么?

2021-11-09 22:32:16 193浏览量 回答数 1

0

回答

Spring Boot支持哪些构建工具?

2021-11-09 22:37:19 101浏览量 回答数 0

0

回答

请问在Java程序性能优化中,Spring Boot 如何进行内部运行JVM参数调优?

2021-11-06 20:53:33 150浏览量 回答数 0

0

回答

请问在Java程序性能优化中,Spring Boot 如何进行扫包优化?

2021-11-06 20:53:10 179浏览量 回答数 0

2

回答

如何实现 Spring Boot 应用程序的安全性?

2021-10-24 16:41:01 253浏览量 回答数 2

1

回答

Spring Boot 中如何解决跨域问题 ?

2021-10-24 20:31:13 163浏览量 回答数 1

1

回答

在Spring Boot中怎么禁用Actuator端点安全性?

2021-10-24 20:37:04 246浏览量 回答数 1

1

回答

spring boot启动报错org.springframework.beans?400报错

2020-06-06 15:38:17 895浏览量 回答数 1

4

回答

EDAS结合Spring Boot启动出现数据库加载异常

2017-09-11 11:31:18 7792浏览量 回答数 4
2709
文章
6591
问答
问答排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载