問題,在controller中無法通過註解自動注入dubbo服務,
但是在service中可以自動注入。
package com.sl;
@controller
public class p{
//期望注入dubbo服務
@reference(version=「1.0.0」)
private i0 o;
//注入service
@autowired
private s s;
//o is null!沒有自動注入
//s 自動注入且s.s()中dubbo服務也注入成功
package com.sl;
@service
public class s{
//成功注入dubbo
@reference(version=「1.0.0」)
private i0 o;
public void s() throws ioexception{
//o is not null!可以直接使用
經過分析,原來配置導致兩個上下文,乙個是根上下文,乙個是springmvc的上下文,
dubbo的註解配置在根上下文中,因此無法解析springmvc bean的注入。
當前配置:
web.xml…
org.springframework.web.context.contextloaderlistener ...
springmvc org.springframework.web.servlet.dispatcherservlet 1
com.sl」 />
springmvc-servlet.xml
…com.sl」 />
解決辦法:
1.只將dubbo服務注入到service和repository中而不是controller中,其實大部分時候都可如此
2.去掉web.xml中listener,將全部配置都放到springmvc-servlet.xml,這樣只生成乙個上下文。
3.在springmvc-servlet.xml也加入duboo的配置,這樣雖然有了冗餘,但是可以保證兩個上下文。
Spring MVC中使用logback的日誌配置
一開始在springmvc中就配置了logback.xml,但是由於放置的路徑不正確,不知道怎麼啟動這個日誌系統。後來在網上看了別人的說明,logback.xml配置都差不多,只需要放置src包下面就會自動啟動日誌了。需要匯入的jar包有 logback core 0.9.29.jar,logbac...
在專案中使用springmvc
springmvc是spring框架的乙個模組,springmvc和spring無需通過中間整個層進行整合,它是乙個基於mvc的web框架。springmvc是基於方法開發的,struts2是基於類開發的。springmvc將url和controller方法對映,對映成功後springmvc生成乙個...
springMVC中使用dubbo註解配置的問題
問題,在controller中無法通過註解自動注入dubbo服務,但是在service中可以自動注入。package com.sl controller public class p package com.sl service public class s 經過分析,原來配置導致兩個上下文,乙個是...