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层创建一个类,将属性注入放到这里来处理

在控制层将这个类注入

间接实现了父容器没法访问子容器资源的问题。

但愿对你们有帮助,若有不对之处,还请指正

相关文章
相关标签/搜索