编程随笔-SpringBoot | 02. 配置虚拟路径

1. 配置方法

在config包下创建VirtualPathConfig.java

package com.eshang.principal.email.config;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;

@Configuration
//配置虚拟路径
public class VirtualPathConfig extends WebMvcConfigurerAdapter {
	@Override
	public void addResourceHandlers(ResourceHandlerRegistry registry) {
		/**
		 * 设置完毕以后,访问设置的url,就能访问到设置的本地磁盘路径
		 * 务必记得,本地磁盘路径最后要加"/",否则拼接url时,要多加一个/file/才能访问
		 * EG:
		 * 本地路径的img文件夹的1.jpg,设定url是localhost/xxx,
		 * 如果加上了最后的"/",那么1.jpg的url是localhost/xxx/img/1.jpg
		 * 但如果没加最后的"/",那么1.jpg的url是localhost/xxx/file/img/1.jpg
		 */
		registry.addResourceHandler("/【虚拟路径】/**")
				//最后务必记得加上"/"
				.addResourceLocations("file:/【本地磁盘路径】/");
		super.addResourceHandlers(registry);
	}
}

替换掉【虚拟路径】和【本地磁盘路径】即可

比如我希望通过访问以下url:

localhost/file/img/1.jpg

来访问本地磁盘路径

D:/testProject/img/1.jpg

那么就会有

【虚拟路径】:file
【本地磁盘路径】:D:/testProject

2. 注意事项

需要注意的是,第二个参数后面的"/"不要忘记
如果忘记,访问本地磁盘路径时,url还需要拼接一个/file/
具体原因暂不清楚,记得就好

3. 我的做法

在这里插入图片描述
其中virtualPath和localRootPath的值,来自于application.properties
在这里插入图片描述
这样做法的好处是:如果项目交由其他小伙伴运行
那么这个小伙伴可以统一修改application.properties这个配置文件
而不用同时修改多个文件,这样容易出现遗漏

(切换环境需要修改的所有参数,我都写入了application.properties中,然后用SPEL引用到对应的地方)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值