空指針錯(cuò)誤
Action類(lèi)中并沒(méi)有創(chuàng)建Service的實(shí)例,直接用Service調(diào)用其 sava方法會(huì)報(bào)空指針錯(cuò)誤的,同樣Service中也沒(méi)用創(chuàng)建Dao實(shí)例
Action類(lèi)中并沒(méi)有創(chuàng)建Service的實(shí)例,直接用Service調(diào)用其 sava方法會(huì)報(bào)空指針錯(cuò)誤的,同樣Service中也沒(méi)用創(chuàng)建Dao實(shí)例
舉報(bào)
2016-12-31
先了解依賴(lài)注入:依賴(lài)注入是Spring的思想,在使用Spring進(jìn)行開(kāi)發(fā)時(shí),可以將對(duì)象交給spring進(jìn)行管理,在初始化時(shí)spring創(chuàng)建一批對(duì)象,當(dāng)你需要用的時(shí)候只要從spring的容器中獲取對(duì)象,而不用自己去new,當(dāng)然在對(duì)象創(chuàng)建的時(shí)候可以注入另一個(gè)對(duì)象。比如A,B兩個(gè)對(duì)象都由spring管理,A中持有對(duì)B的引用,那么spring在生成A對(duì)象的時(shí)候就已經(jīng)吧B對(duì)象的一個(gè)實(shí)例給到A了,當(dāng)你在A中用到B的時(shí)候直接使用就可以了。
如果還要實(shí)例的話(huà)就不需要用spring了,spring就是做管理這些對(duì)象的實(shí)例工作的,applicationContext.xml里配置的bean可以看成就是已經(jīng)實(shí)例了,且默認(rèn)是單例的。例如:Service調(diào)Dao的方法,在applicationContext.xml里配置
?<bean id="Dao" class="com.dao.Dao">
?</bean>
?<bean id="Service" class="com.service.Service">
? ? ? ? <property name="Dao" ref="Dao"></property>
?</bean>
實(shí)際已經(jīng)完成了實(shí)例和注入,第一個(gè)Service的bean里property的name即在Service.java里寫(xiě)的Dao的對(duì)象名,提供set方法,它會(huì)依照name屬性去匹配對(duì)象名給它注入。ref屬性就是spring管理的bean,即第二個(gè)實(shí)例的id為Dao的對(duì)象。全意就是:實(shí)例Dao,實(shí)例Service,給Servie里使用到的Dao注入已經(jīng)實(shí)例管理的Dao對(duì)象。
2017-03-11
大神,幫我看一下怎么老是找不到文件。