java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > springboot访问后端静态资源404

springboot访问后端静态资源404问题

作者:青艾_XY

文章主要介绍了在Spring Boot中访问后台静态资源时可能出现的404错误及解决方法,并解释了MyBatis中驼峰命名转下划线的默认行为以及如何使用@Id和@GeneratedValue注解来标识主键属性

springboot访问后端静态资源404

在使用springboot访问后台静态资源时发生404错误

原因

在于前台配置的访问路径中可能包含了公共资源类的本级路径例如:

在访问后天资源时加了"public/",“static/”,但在实例访问时不需要加载该级路径,通过配 WebMvcConfigurer解决

@Configuration
public class CorsConfig implements WebMvcConfigurer {

    @Override
    public void addCorsMappings(CorsRegistry registry) {
        registry.addMapping("/**").allowedOrigins("*")
                .allowedMethods("GET", "HEAD", "POST","PUT", "DELETE", "OPTIONS")
                .allowCredentials(true).maxAge(3600);
    }
    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        //开放static,templates,public 目录 但是请求时候需要加上对应的前缀,比如我访问static下的资源/static/xxxx/xx.js
        registry.addResourceHandler("/static/**","/templates/**","/public/**")
                .addResourceLocations("classpath:/static/","classpath:/templates/","classpath:/public/");

    }

}

其次可能你书写的路径不属于默认访问路径

spring:
  mvc:
    static-path-pattern: /res/** #静态资源访问前缀为res

---
spring:
  resources:
    static-locations: [classpath:/res/] #在类路径的res文件夹下的静态资源才能被访问到

mybatis默认的驼峰命名转下划线

默认情况下,MyBatis 会将实体类的属性名转换为小写,并将驼峰命名法转换为下划线命名法,然后与数据库表的列名进行匹配。

如果您有一个名为 User 的实体类,它有一个名为 userName 的属性,那么 MyBatis 默认会将它映射为数据库表中的 user_name

@Id 是 MyBatis 中的一个注解,用于标识实体类中的属性作为表的主键。

在 MyBatis 中,如果您要使用 @Id 注解来标识主键属性,还需要使用 @GeneratedValue 注解来指定主键的生成方式。

public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Integer id;
    private String username;
    private String password;

    // 省略 getter 和 setter 方法
}

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文