spring容器問題:解決圖片服務器地址沒法解析

  項目中將圖片服務器分離出來,相關配置單獨配置到一個 properties 文件中,並使用spring管理該配置文件,如圖:web

使用的是Nginx 來負責圖片服務的處理,關鍵配置以下:spring

啓動項目進行圖片上傳的時候卻死活找不到配置文件中的地址tomcat

如上是關鍵代碼,properties 是spring管理的,並在控制層進行注入操做,圖片沒法上傳獲取不到地址。查錯許久後將該 properties  文件交給springMVC管理,問題意外解決。能夠肯定問題的緣由是spring的父子容器問題。服務器

spring一共有2個容器spa

    啓動tomcat後啓動兩個spring容器:xml

    一、spring經過web.xml來啓動的。(父)圖片

    二、springMVC來啓動的。(子)資源

關係與限制:圖片上傳

    一、子容器能訪問父容器的資源。(bean)容器

    二、父容器不能訪問子容器的資源

也就是說,咱們的控制層是springMVC 來處理,而service層是spring來管理的,而若是 properties  文件是spring管理,那麼由於容器限制,在控制層注入 properties  文件是沒法成功的,而放到springMVC來管理雖然能夠成功,可是卻有代碼重用性問題,解決方案,在service層創建一個類,將屬性注入放到這裏來處理

在控制層將這個類注入

間接實現了父容器沒法訪問子容器資源的問題。

但願對你們有幫助,若有不對之處,還請指正

相關文章
相關標籤/搜索