springboot自定义静态资...

本文介绍了如何在SpringBoot项目中自定义静态资源的位置,包括通过配置文件和代码方式进行设置。并展示了项目结构及访问结果。
摘要由CSDN通过智能技术生成

pringboot 静态资源位置,classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,默认资源放在这几个目录下,是可以访问的,但是项目中往往需要自己定义静态资源加载的位置,这个时候就需要我们进行配置或者在项目中加一个配置类解决这个需求问题。

1、在配置文件中进行配置

[AppleScript] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
配置访问静态资源请求路径
spring.mvc.static-path-pattern=/basedata/**
配置自定义静态资源存储位置,这样配置之后默认静态资源访问就不生效了
spring.resources.static-locations=file:./basedata/
  
该配置项也可以配置成数组形式 举例如下
自定义静态资源存储位置,可以用 ${}代替值
web.source.unzip=/aiplatformadmin/AI3.1/upload/audio/
  
spring.resources.static-locations[0]=classpath:/public/
spring.resources.static-locations[1]=classpath:/static/
spring.resources.static-locations[2]=classpath:/resources/
spring.resources.static-locations[3]=classpath:/META-INF/resources/
spring.resources.static-locations[4]=file:${web.source.unzip}
通过举例配置,这样默认静态资源位置和自定义静态资源都可以访问


2、代码中进行配置

[AppleScript] 纯文本查看 复制代码
?
01
02
03
04
05
06
07
08
09
10
@Configuration
public class MyConfiguration extends WebMvcConfigurerAdapter {
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/basedata/**").addResourceLocations("file:" + "."+ File.separator+"basedata"+File.separator);
    }
}
  
addResourceHandler 这个方法是配置资源请求路径
addResourceLocations 这个方法是配置自定义静态资源存储位置,里边用到了file:,是因为资源放置位置不在classpath下边,是自定义的,也可以写为classpath:

 

效果展示:

项目结构:

访问结果展示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 Spring Boot 中,通常按照 Maven 或 Gradle 的标准目录结构来组织应用程序的代码和源。这些标准目录结构如下: - `src/main/java`: Java 代码件,包括应用程序的主入口件和其他类件。 - `src/main/resources`: 应用程序的件,包括配置件、静态件等。 - `src/test/java`: 测试代码件,包括单元测试和集成测试等。 - `src/test/resources`: 测试使用的件。 如果需要自定义目录标准,可以使用 Spring Boot 提供的 `@SpringBootApplication` 注解的 `@ComponentScan`、`@EntityScan` 和 `@EnableJpaRepositories` 属性来指定自定义的目录。 例如,可以通过 `@ComponentScan` 注解来指定自定义的 Java 代码路径: ```java @SpringBootApplication @ComponentScan(basePackages = {"com.example.custom"}) public class MyApplication { //... } ``` 还可以使用 `@EntityScan` 和 `@EnableJpaRepositories` 注解来指定自定义的实体类和 JPA 存储库路径: ```java @SpringBootApplication @EntityScan(basePackages = {"com.example.custom.entity"}) @EnableJpaRepositories(basePackages = {"com.example.custom.repository"}) public class MyApplication { //... } ``` 需要注意的是,如果自定义了目录标准,也需要相应地调整 Maven 或 Gradle 的配置件来指定对应的目录路径。 ### 回答2: Spring Boot是一个开源的Java框架,用于构建独立的、可执行的、基于微服务的应用程序。它提供了许多默认的配置和规范,但也允许开发者根据自己的需求进行自定义。 在Spring Boot中,可以自定义目录标准以满足项目的特定需求。下面是一些常用的自定义目录: 1. 数据持久化目录:可以将项目的数据库件或数据件存放在自定义的目录下。可以使用`spring.datasource.url`和`spring.datasource.username`等属性来指定数据库件的路径和用户名。 2. 静态源目录:默认情况下,Spring Boot会将静态源(如CSS、JS和图片件)放在`/resources/static`目录下。如果需要,可以在`application.properties`件中使用`spring.resources.static-locations`属性来自定义静态源的目录。 3. 模板件目录:Spring Boot支持使用模板引擎来渲染视图。默认情况下,模板件应放在`/resources/templates`目录下。如果需要,可以在`application.properties`中使用`spring.thymeleaf.prefix`(对于Thymeleaf模板引擎)或`spring.freemarker.template-loader-path`(对于FreeMarker模板引擎)属性来自定义模板件的目录。 4. 日志件目录:Spring Boot使用Logback作为默认的日志框架,并将日志件存放在`/logs`目录下。如果需要,可以在`application.properties`中使用`logging.file.path`属性来自定义日志件的目录和件名。 5. 测试件目录:测试件(如JUnit测试类、Mock数据件等)默认会放在`/src/test`目录下。如果需要,可以使用Maven的`src/test/resources`目录来存放测试件。 总的来说,Spring Boot的目录结构和标准已经能够满足大部分项目的需求。如果需要进行自定义,可以通过调整相关的属性来修改默认的目录设置。需要注意的是,在进行自定义目录时,应确保修改配置件中的相关属性,并遵循项目的规范和最佳实践。 ### 回答3: Spring Boot提供了一套自定义目录标准,以便开发人员能根据自己的需求对项目的结构进行灵活调整。 1. 源码目录结构: - `src/main/java`:Java源件所在目录,主要用于存放应用程序的源代码。 - `src/main/resources`:件所在目录,主要用于存放配置件、静态源和模板件等。 - `src/main/webapp`:Web应用的根目录,用于存放Web容器需要访问的件。 2. 测试目录结构: - `src/test/java`:单元测试源件所在目录,主要用于存放单元测试的源代码。 - `src/test/resources`:测试件所在目录,用于存放测试过程中使用的配置件、静态源和模板件等。 3. 项目构建目录结构: - `src/main/resources/static`:静态件所在目录,用于存放各种静态件,如css、js、图片等。 - `src/main/resources/templates`:模板件所在目录,用于存放各种模板件,如Thymeleaf、Freemarker等。 - `src/main/resources/application.properties`:应用程序的配置件,可以设置各种属性和参数。 - `src/main/resources/application.yml`:应用程序的配置件,使用YAML格式,可以与properties件互相转换。 - `src/main/resources/banner.txt`:应用程序启动时的自定义启动图标件。 4. 其他目录结构: - `src/main/resources/META-INF`:存放项目的元信息件,如MANIFEST.MF等。 - `src/main/resources/logback.xml`:日志配置件,用于配置日志输出的格式和方式。 - `src/main/resources/spring/`:存放Spring相关的配置件,如Spring MVC的配置件。 - `src/main/resources/db/`:存放数据库相关的配置件,如MyBatis的配置件。 通过遵循这些自定义目录标准,可以使项目结构更加清晰、易读,并提高开发效率和可维护性。当然,这些目录标准并非强制要求,开发人员可以根据自己的项目需求进行适当的调整和扩展。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值