<bean id="loginServiceImpl" class="serviceimpl.LoginServiceImpl"></bean>
<bean id="loginAction" class="action.LoginAction">
<property name="loginServiceImpl" ref="loginServiceImpl"></property>
</bean>这里在给action注入的时候,为什么property name="loginServiceImpl"和 ref="loginServiceImpl"这两者要相同!还是struts的Action不需要Spring来注入的,直接通过Struts.xml里面的拦截器来实现?
因为你这里把property name="loginServiceImpl"和ref="loginServiceImpl"改成不一样的话,就会报空指针错误。
这里面的机理到底怎么样,求大神解答谢谢!SpringSSHStruts框架
<bean id="loginAction" class="action.LoginAction">
<property name="loginServiceImpl" ref="loginServiceImpl"></property>
</bean>这里在给action注入的时候,为什么property name="loginServiceImpl"和 ref="loginServiceImpl"这两者要相同!还是struts的Action不需要Spring来注入的,直接通过Struts.xml里面的拦截器来实现?
因为你这里把property name="loginServiceImpl"和ref="loginServiceImpl"改成不一样的话,就会报空指针错误。
这里面的机理到底怎么样,求大神解答谢谢!SpringSSHStruts框架
<bean id="loginServiceImpl" class="serviceimpl.LoginServiceImpl"></bean>
<bean id="loginAction" class="action.LoginAction">
// name是所属的action.LoginAction中定义的属性名,肯定不能乱写了,要与属性名相同,ref引用的就是你需要注入的bean的id,需要和你上边定义的相同就行了。
<property name="loginServiceImpl" ref="loginServiceImpl"></property>
</bean>
-----------------------------
name和ref不需要相同,一个是property对应的bean需要声明一个loginServiceImpl成员;另一个是spring环境中必须定义一个名称为loginServiceImpl的bean。
<property name="loginServiceImpl" ref="loginServiceImpl"></property>
</bean>
===================================================
property :指bean id为"loginAction"的类 有loginServiceImpl这个属性。只是说明有这个属性。但这个属性是什么类型的还不知道。
------------------------------------
ref="loginServiceImpl"就是解决这个问题的。ref指向了另外一个bean,那个bean是loginAction的属性。那个bean的id也为loginServiceImpl,所以这里的rel要写成loginServiceImpl。
那个bean的类型为class="xxxx"定义的类型。
------------------------------------
name="loginServiceImpl" ref="loginServiceImpl" 这两个不一定一样,配成一样是省事。只要ref的值和loginServiceImpl这个类的配置的id的值 一样就行了。
ref="loginServiceImpl是给这个变量赋值