使用Spring框架做IOC配置时,经常会因为一些小问题导致无法在Action中DI成功,总结所犯的错误。Spring的介绍参考网址 。
- 在修改applicationContext.xml中,XXX貌似没有对应关系(不知道该怎么用,请知道的同学教我一下),“名称1”必须和Action中Service的变量名称一致。
<bean id="名称1" class="Service类全地址" scope="prototype"> <property name="Service中DAO的名字" ref="DAO类名"></property> </bean> <bean id="名称" class="Action类全地址" scope="prototype"> <property name="XXX" ref="名称1"></property> </bean>
- 如果使用Struts的时候,必须要包含struts2-spring-plugin-2.2.1.jar 否则注入可以成功,但是调用Excute时,会发现被注入的变量又变回null
- 使用Spring MVC时,如果需要匹配/*,则需要在Web.xml里面将“/*”修改为“/” 即可。
这是因为spring用到forward("/WEB-INF/jsp/*.jsp"),而forward当然是又要经过web.xml的映射的,然后,在URL匹配时,
< url-pattern > / </ url-pattern > 不会匹配到*.jsp,不会进入spring的DispatcherServlet类
< url-pattern > /* </ url-pattern > 会 匹配*.jsp,导致进入spring的DispatcherServlet 类,然后去寻找controller,接着找不到对应的controller所以报错。
-