今天毕业设计做到一半,忽然发现我struts.xml中action的class属性都是action类的全名(xx.xxAction),可是action中使用resource注解没有问题。我现在想问一下:
1. 为什么action中使用了类的全名,resource注解依然生效了?
2.这样对项目会有什么样的影响?
我想了一下,struts2中加入struts-spring-plugin.jar,struts会由spring来提供action对象,既然@resource注解生效了,说明在spring中找到了action对象,那spring不是根据struts.xml的class属性来找spring容器中的bean对象吗?还是当使用class属性找不到时,会根据默认的bean名称来查找spring容器(我使用注解时没有指定bean的名字)?
@Resource默认按byName自动 注入
@Resource注解的name属性解析为bean的 名字,而type属性则解析为bean的类型。
name属性对应byName的自动注入策略,type属性对应byType自 动注入
那么,type都没有将通过反射机制使用byName自动注入策略。
我想问的是我struts.xml中action的class属性并没有配置正确(即使用了类的全名),可是struts依然给我找到了正确的action对象,它是怎么找到的?另外这几天都不上博客园,今天才刚看到回答,不好意思。