Servlet中Autowired 注入為空解決。

2021-10-07 10:01:17 字數 658 閱讀 2868

1.部署weblogic時候,springboot原有的方式報,不支援型別錯誤,  required multipartfile parameter 'file' is not present。

改為servlet上傳,引入commons-fileupload.jar (apache commons)、commons-io.jar。

2.再servlet用@autowired 注入service引數,會報空指標,注入的bean找不到。這是因為我們的bean都是歸spring容器管理的,但是servlet單獨有乙個容器,歸tomcat管理,所以這樣注入是有問題的。

在網上找了好幾種方法,都有問題,後來找到一種最簡單的。

在servlet中重寫init方法

@override

public void init(servletconfig config) throws servletexception {  

springbeanautowiringsupport.processinjectionbasedonservletcontext(this, config.getservletcontext()); 

然後再注入你需要的bean

@autowired

private userservicedefault userdefaultservice;

Spring Bean裝配之Autowired註解

autowired public void setinjectiondao injectiondao injectiondao autowired required false public void setinjectiondao injectiondao injectiondao 預設情況下,如...

servlet中ServletConfig的使用

httpservletrequest,httpservletresponse 這兩個屬性的作用範圍最小。時間上 只是本身請求和應答完成就失效,當然 是把當前的request物件取出來傳給另一 個資源,其實本身的request物件還是只生存到本次請求結束,response也同樣。空間上 只能傳送請求的...

servlet中ServletConfig的使用

前言 相對於servletcontext,servletconfig是針對特定的servlet的引數或屬性。servletconfig是表示單獨的servlet的配置和引數,只是適用於特定的servlet。從乙個servlet被例項化後,對任何客戶端在任何時候訪問有效,但僅對本servlet有效,乙...