关于spring 不标@Component @Resource的自动注入的问题

之前了解的Spring自动注入的方式就是通过在类声明上标@Component,和在调用时的set方法上标@Resource来搞定的,现在刚到新公司,看一项目源码,发现基S... 之前了解的Spring自动注入的方式就是通过在类声明上标@Component,和在调用时的set方法上标@Resource来搞定的,现在刚到新公司,看一项目源码,发现基Service上没有标过@Component(但在xml里的声明每个bean),并且Struts2的Action调用Service的set方法上也没标@Resource,结果还自动注了,我就奇怪了。还有一个问题,就是我发现struts2文件里,好多action也没声明,但还能用,这个是怎么回事,在struts文件里发现如下配置<constant name="objectFactory" value="spring" /><constant name="struts.objectFactory.spring.autoWire" value="name" />问:第一句是否就按Action类名去创建Action的实例,然后就可以当在struts。xml里声明过一样第二句是否就是自动注入不用在Action调service的set方法上标@Resource的原因。在线等,求详解。。 展开
 我来答
百度网友4a2b190
推荐于2018-04-16 · TA获得超过136个赞
知道答主
回答量:32
采纳率:0%
帮助的人:28万
展开全部
既然不是用的注解,那肯定就是在spring的配置文件applicationContext.xml里配置了<bean>。不一定说非得用注解才能注入的,用xml也能注入,道理是一样的。

你的第一个问题,在struts里写时应该是这样的,<action name="abc" class="xxAction"></action>
这里的class是spring配置文件里的某个bean的id, 这样struts才会交给spring去实例化action。
zkwjforever
2012-02-20 · 超过20用户采纳过TA的回答
知道答主
回答量:52
采纳率:0%
帮助的人:33.6万
展开全部
首先,你们这个项目不是用注解开发的,就是用配置文件去配置action,service,dao的,
<constant name="objectFactory" value="spring" />这句话的意思是将STRUTS托管给SPRING
<constant name="struts.objectFactory.spring.autoWire" value="name" />这句话的意思是struts跟spring结合的时候,struts的class指定的那个bean,是根据spring配置文件中的id这个属性去自动装配的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式