在Spring Boot:定制URL匹配规则一文中我们展示了如何调整URL请求匹配到对应的控制器方法的规则。类似得,也可以控制应用程序对静态文件(前提是被打包进部署包)的处理。
假设我们需要通过URLhttp://localhost:8080/internal/application.properties
对外暴露当前程序的配置。
@Overridepublic
void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/internal/**").
addResourceLocations("classpath:/");
}
mvn spring-boot:run
启动应用程序http://localhost:8080/internal/application.properties
就得到下列的结果通过配置项对外暴露程序的配置信息
通过*addResourceHandlers(ResourceHandlerRegistry registry) *方法可以为应用程序中位于classpath路径下或文件系统下的静态资源配置对应的URL,供其他人通过浏览器访问。在这个例子中,我们规定所有以“/internal”开头的URL请求会在classpath:/目录下查找信息。
PS:通过setCachePeriod(Interger cachePeriod)方法可以设置资源处理器的缓存周期——每隔cachePeriod秒就缓存一次。