使用springboot进行后端开发100问

这篇具有很好参考价值的文章主要介绍了使用springboot进行后端开发100问。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

  1. properties和yaml文件怎么互转
    安装插件

  2. properties文件和yaml文件区别
    properties 文件通过“.”和“=”赋值,值前不加空格,yaml通过“:”赋值,值前面加一个空格;yaml文件缩进用空格;
    properties只支持键值对, yaml 配置文件支持列表,短横线表示列表“-”;
    properties不保证加载顺序,yaml有先后顺序;

  3. 程序会自动读取yaml文件么,需要配置么

  4. restcontroller和controller的区别

  5. 不加restcontroller报错
    Error resolving template [], template might not exist or might not be accessible by any of the conf

  6. postman 如何向后台传对象

  7. @Requestpart,@RequestBody,@RequestParam

  8. @RequestBody主要用来接收前端传递给后端的json字符串中的数据的(请求体中的数据的);而最常用的使用请求体传参的无疑是POST请求了,所以使用@RequestBody接收数据时,一般都用POST方式进行提交。在后端的同一个接收方法里,@RequestBody与@RequestParam()可以同时使用,@RequestBody最多只能有一个,而@RequestParam()可以有多个。

博文

9.postman同时传递文件和对象参数

  1. get请求如何传对象
    和Post请求一样 用RequestBody就行

  2. 上传下载文件

  3. Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed: java.lang.NullPointerException: Cannot invoke "String.length()" because "s" is null] with root cause
    原因,就是调用length方法的对象为空,当时传入的文件名是从数据库里面读入进来的,但是忘记在数据库里面存文件名了

  4. Cannot call sendError() after the response has been committed
    字面意思就是response被调用了两次,导致无法调用sendError方法。

  5. No converter for [class com.seed5.ocs.model.Respond] with preset Content-Type 'application/octet-stream'
    把controller的返回值类型改成void

response.reset()

但是我使用了response.reset好像不太管用的样子。
破案了,使用response.reset()函数不管用的原因是

InputStream inputStream=new FileInputStream(file)
//我这里的file参数是File类型,实际应该传入String类型的path

没有破案,所以到底是什么原因呢?

  1. 热部署

  2. 2021版IDEA没有compiler.automake.allow.when.app.running

  3. npm ERR! { Error: EPERM: operation not permitted, mkdir 'C:\Program Files\nodejs\node_cache\_locks'

  4. 前后端对接接口的时候,请求的success.function.res()回调函数中的参数res是什么

  5. 前后端对接时的跨域问题

  6. 后端给前端返回统一结果
    建立格式
    定义常见的错误,枚举类
    工具类,写返回信息

    result风格
    restful风格

  7. 枚举类

  8. axios发请求,SpringBoot接请求的各种对应

  9. vue $符号的作用
    Vue 实例还暴露了一些有用的实例属性与方法,它们都有前缀 $,以便与用户定义的属性区分开来
    挂载在vue身上的属性

  10. this.$message()

  11. 跨域问题
    跨域请求资源问题,前后端分离项目不可避免的问题
    同域:协议相同,端口号相同,主机相同
    CORS,在后端设置,新建一个配置类,允许跨域请求。

@Configuration
public class CorsConfig implements WebMvcConfigurer{
    @Override
    public void addCorsMappings(CorsRegistry registry){
        registry.addMapping("/**")//允许跨域访问的路径
                .allowedOrigins("*")//允许跨域访问的源
                .allowedMethods("POST","GET","PUT","OPTIONS","DELETE")//允许跨域访问的方法
                .maxAge(168000)//预检间隔时间
                .allowedHeaders("*")//允许头部设置
               .allowCredentials(true);//是否允许发送cookie
    }
}

修改响应头
jsonp
报了一行错
When allowCredentials is true, allowedOrigins cannot contain the special value "*" since that cannot be set on the "Access-Control-Allow-Origin" response header. To allow credentials to a set of origins, list them explicitly or consider using "allowedOriginPatterns" instead.
这是因为springboot升级成2.4.0以上时对AllowedOrigin设置发生了改变,不能有”*“
解决办法:跨域配置报错,将.allowedOrigins替换成.allowedOriginPatterns即可。

@Configuration
public class CorsConfig implements WebMvcConfigurer{
    @Override
    public void addCorsMappings(CorsRegistry registry){
        registry.addMapping("/**")//允许跨域访问的路径
//                .allowedOrigins("*")//允许跨域访问的源
                .allowedOriginPatterns("*")
                .allowedMethods("POST","GET","PUT","OPTIONS","DELETE")//允许跨域访问的方法
                .maxAge(168000)//预检间隔时间
                .allowedHeaders("*")//允许头部设置
               .allowCredentials(true);//是否允许发送cookie
    }
}
  1. JS回调函数的作用域发送变化
    用箭头函数(网络请求回调函数这一块儿)
    this.data相当于 this=>name

  2. No converter for [class com.seed5.ocs.model.ReturnRestful] with preset Content-Type 'application/octet-stream'
    application/octet-stream

    当浏览器在请求资源时,会通过http返回头中的content-type决定如何显示/处理将要加载的数据,如果这个类型浏览器能够支持阅览,浏览器就会直接展示该资源,比如png、jpeg、video等格式。在某些下载文件的场景中,服务端可能会返回文件流,并在返回头中带上Content-Type:application/octet-stream,告知浏览器这是一个字节流,浏览器处理字节流的默认方式就是下载

    Application/octet-stream是应用程序文件的默认值。意思是未知的应用程序文件,浏览器一般不会自动执行或询问执行。浏览器会像对待,设置了HTTP头Content-Disposition值为attachment的文件一样来对待这类文件,即浏览器会触发下载行为。

    说人话就是,浏览器并不认得这是什么类型,也不知道应该如何展示,只知道这是一种二进制文件,因此遇到content-type为application/octet-stream的文件时,浏览器会直接把它下载下来。这个类型一般会配合另一个响应头Content-Disposition,该响应头指示回复的内容该以何种形式展示,是以内联的形式(即网页或者网页的一部分),还是以附件的形式下载并保存到本地。

    解释来源
    那么是不是这个返回的参数也被浏览器视为要下载的内容了呢?所以没办法将返回参数类型转换成二进制类型。

    目前这个问题的已知有效方案为:将函数设置为void函数(不设置返回值类型)。
    但是在response提交之前设置,就没办法提交二进制流,之后设置,就会报错Cannot call reset() after response has been committed

  3. 文件删除
    java中普适的文件删除方法

  4. springboot配置全局变量

  5. 日志

private static final Logger log = LoggerFactory.getLogger(homeworkController.class);
Logger logger = LoggerFactory.getLogger(getClass());

参考博客
31. 富文本编辑器
我想要搞一个富文本编辑器,能编辑、保存、查看、修改、删除内容。

  1. SpringBoot + Mybatis实体类属性与数据库表列名之间的对应关系
    问题长这样
    使用springboot进行后端开发100问,springboot框架,spring boot,后端,java

解决办法,做个映射应该就行了
Mybatis 解决数据库字段名和实体类属性名不一致问题

我的解决办法:
开启驼峰命名规则:
修改mybaits-config.xml
使用springboot进行后端开发100问,springboot框架,spring boot,后端,java
在settings标签里面插入
<setting name="mapUnderscoreToCamelCase" value="true"/>

  1. postman怎么查看原始的http请求和响应的内容(想要康康请求头等具体信息)
    点击控制台,再点击具体的想查看的请求
    使用springboot进行后端开发100问,springboot框架,spring boot,后端,java

  2. 请求出现“Content type ‘application/octet-stream‘not supported“错误

  3. 后端使用@RequestParam传递文件,@RequestPart传递对象来实现同时上传对象和文件,前端应该怎么传参数?
    我把json对象变成blob(二进制数组)之后,后端还是在疯狂报错。
    2023-04-06T23:42:12.512+08:00 WARN 9272 --- [nio-8443-exec-3] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: Cannot deserialize value of type com.seed5.ocs.model.Studentworkfrom Array value (tokenJsonToken.START_ARRAY)]
    不知道是解析的问题还是咋回事,传的时候参数是json对象,传过去之后参数就变成数组了,卒
    解决办法,传递@RequestParam类型参数,在后台打包成对象。

  4. 开启驼峰映射
    在application.properties文件里面加上这么一句话
    mybaits.configuration.map-underscore-to-camel-case:=true
    报错:

 Property 'configuration' and 'configLocation' can not specified with together

解决
就是我已经有mybaits.xml文件了,所以不能再在application.properties里面配置了
但是我发现我其实已经在mybaits.xml文件里面配置过了
使用springboot进行后端开发100问,springboot框架,spring boot,后端,java

没有生效
原因:手动配置了数据库连接
解决方法:文章来源地址https://www.toymoban.com/news/detail-610299.html

  1. 在终端使用git clone拉取maven项目后,用IDEA打开项目,但文件显示的全是黄色图标的.java文件,并不能像新建Java文件一样显示蓝色的class文件,且不能直接运行。
    解决方案

到了这里,关于使用springboot进行后端开发100问的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot + Vue前后端分离项目实战 || 三:Spring Boot后端与Vue前端连接

    系列文章: SpringBoot + Vue前后端分离项目实战 || 一:Vue前端设计 SpringBoot + Vue前后端分离项目实战 || 二:Spring Boot后端与数据库连接 SpringBoot + Vue前后端分离项目实战 || 三:Spring Boot后端与Vue前端连接 SpringBoot + Vue前后端分离项目实战 || 四:用户管理功能实现 SpringBoot + Vue前后

    2024年02月12日
    浏览(66)
  • SpringBoot + Vue前后端分离项目实战 || 二:Spring Boot后端与数据库连接

    系列文章: SpringBoot + Vue前后端分离项目实战 || 一:Vue前端设计 SpringBoot + Vue前后端分离项目实战 || 二:Spring Boot后端与数据库连接 SpringBoot + Vue前后端分离项目实战 || 三:Spring Boot后端与Vue前端连接 SpringBoot + Vue前后端分离项目实战 || 四:用户管理功能实现 SpringBoot + Vue前后

    2024年02月11日
    浏览(60)
  • “从零开始学习Spring Boot:快速搭建Java后端开发环境“

    标题:从零开始学习Spring Boot:快速搭建Java后端开发环境 摘要:本文将介绍如何从零开始学习Spring Boot,并详细讲解如何快速搭建Java后端开发环境。通过本文的指导,您将能够快速搭建一个基于Spring Boot的Java后端开发环境并开始编写代码。 正文: 一、准备工作 在开始之前,

    2024年02月15日
    浏览(55)
  • 后端Springboot框架搭建APi接口开发(第一章)

    本文章以IDEA为开发工具,使用SSM框架进行项目编写 我们用一个简单的用户表进行操作演示 首先创建 Data 数据库 创建 User 数据表,表中包含 用户邮箱 , 用户姓名 , 用户密码 放点数据进去 打开IDEA,在右上角点击NewProject。创建新的项目 选择Spring Initializr框架,依次输入项目

    2023年04月08日
    浏览(42)
  • Java Spring Boot 开发框架

    Spring Boot是一种基于Java编程语言的开发框架,它的目标是简化Java应用程序的开发过程。Spring Boot提供了一种快速、易于使用的方式来创建独立的、生产级别的Java应用程序。本文将介绍Spring Boot的特性、优势以及如何使用它来开发高效、可靠的应用程序。 Spring Boot是由Pivotal团队

    2024年02月08日
    浏览(49)
  • Java 中 Spring Boot 框架下的 Email 开发

    hutool工具包: 这个类更贴近我们的常见信息 ,用这个去构造邮箱框架的指定邮件类的构造。 邮箱格式检查: 以 yeah.net 邮箱为例(其他的邮箱也会有,举一反三) 根据指导即可,获得授权密码! 以smtp为例: 这个就是host,可以查一下,port是465(其他的服务器 port是啥,一查

    2024年04月08日
    浏览(48)
  • 后端使用Spring Boot生成Excel文件,前端使用微信小程序上送数据并下载Excel文件

    后端:Spring Boot生成Excel文件添加依赖 在 pom.xml 中添加Apache POI的依赖: 创建一个用于生成Excel文件的方法         4.创建一个用于处理Excel文件的Controller 前端:微信小程序上送数据并下载Excel文件 在 app.json 中添加一个用于下载Excel文件的页面: 在 pages/download 目录下创建

    2024年04月11日
    浏览(88)
  • Spring Boot 数据访问框架介绍及使用

    Spring Boot 是一个流行的 Java 应用程序框架,它提供了许多工具和库,帮助开发人员快速构建高效的应用程序。其中,Spring Boot 数据访问框架是其中一个重要的组件,它提供了许多不同的选项,以便开发人员能够与各种不同的数据源进行交互。在本文中,我们将介绍 Spring Boot

    2024年02月13日
    浏览(41)
  • Spring Boot进阶(73):Spring Boot如何优雅地使用Feign进行服务间通信?

            在分布式系统中,服务间通信是非常常见的情况。而Feign就是一个开源的Java HTTP客户端,可以帮助我们在Spring Boot应用中快速构建和使用HTTP客户端,方便实现服务间的通信。本文将介绍如何优雅地使用Feign进行服务间通信。         那么,具体如何实现呢?这将又

    2024年02月06日
    浏览(52)
  • Spring Boot 如何使用 Spring Security 进行认证和授权

    在 Web 应用程序中,认证和授权是非常重要的功能。Spring Security 是一个基于 Spring 框架的强大的安全框架,它提供了完整的认证和授权解决方案,并且可以轻松地集成到 Spring Boot 应用程序中。本文将介绍如何在 Spring Boot 中使用 Spring Security 进行认证和授权,并提供示例代码。

    2024年02月11日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包