自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(56)
  • 收藏
  • 关注

原创 实现了IService接口的Service方法,在其他项目中使用这个接口找不到任何IService中定义的抽象方法

dubbo远程调用接口遇到的问题

2022-10-26 16:19:17 509 1

原创 页面加载不全,检查页面代码发现代码缺少/js不能起作用

页面加载不全

2022-09-06 11:08:49 513

原创 org.springframework.data.redis.RedisConnectionFailureException: Unable to connect to Redis;

SpringBoot无法连接阿里云远程服务器ECS的redis的问题①配置自己的redis.conf文件文件中88行,从yes改成no,原本是bind 127.0.0.1,直接在这句前面加个#注释掉或直接bind 0.0.0.0都行,原来的意思是只能本机连接,注释掉或修改掉的话是对所有ip开放②关闭防火墙(我就是在这里卡死了),关闭防火墙③SpringBoot中的配置,host上写自己要连接的服务器的ip地址,端口号默认是6379,密码一般没有设置,默认为空,自己如果有设置red

2021-07-31 15:55:31 1787

原创 @AutoWire注入失败,java.lang.NullPointerException空指针异常

如下,此时明明IOC容器中有JdbcTemplate类型的组件,但是调用jdbcTemplate的方法时却会报空指针异常解决办法,去掉static静态修饰,@Autowire不能注入静态变量从网上找到的解释:在Springframework里,我们是不能@Autowired一个静态变量,使之成为一个Spring bean的。为什么?其实很简单,因为当类加载器加载静态变量时,Spring上下文尚未加载。所以类加载器不会在bean中正确注入静态类,并且会失败。...

2021-07-22 13:39:32 746

原创 SpringBoot异常处理流程

异常处理的四个默认解析器①自定义异常处理器②自定义异常③自定义异常解析器

2021-07-20 13:48:09 230

原创 原生组件注入

方式一 原生注解方式三大组件都需要在放在@ServletComponentScan注解的包扫描范围内,这个注解声明在SpringBoot的核心配置类中@ServletComponentScan(basePackages = "com.atguigu.admin") :指定原生Servlet组件都放在那里@WebServlet(urlPatterns = "/my"):效果:直接响应,没有经过Spring的拦截器?(原生的Servlet没有经过doDispatch方法,而SpringBoo..

2021-07-20 13:21:26 102

原创 SpringBoot对类似于除零错误的异常处理流程

错误页地址解析如下

2021-07-17 14:06:41 110

原创 文件上传解析器原理

2021-07-16 09:18:05 159

原创 拦截器与静态资源放行

①定义一个拦截器类继承拦截器接口②拦截器注册到容器中(实现WebMvcConfigurer的addInterceptors)定义SpringMvc定制化的配置类,给容器通过WebMvcConfigurer注册拦截器,并设置拦截规则

2021-07-15 16:33:33 433

原创 图解参数处理原理和返回值处理原理

①参数处理原理②返回值处理原理

2021-07-13 10:39:26 55

原创 ReturnValueHandler原理(一):JSON和初解ReturnValueHandler

如何确定执行当前请求的方法(handler)的返回值返回值解析器①底层返回值处理原理以下是全部外层代码先执行请求并获取返回值,其次设置响应状态码进入handleReturnValue方法(HandlerMethodReturnValueHandlerComposite类中)先获取返回值处理器进入当前类的selectHandler方法,先判断是不是异步返回值进入当前类的isAsyncReturnValue方法判断是不是异步返回值,当所有的返回值处...

2021-07-11 18:38:09 369

原创 自定义Converter的底层原理

①为什么需要自定义Converter?比如原来是直接以pet.name等名字提交数据,底层converter可以直接级联绑定,将pet.name这个值转换类型后直接赋给person对象的pet属性对象的name属性但是如果直接用pet作为提交数据名的话,以“ ,”方式分隔开值,将pet对象的name属性和age属性的值同时传递给Converter时,不能够实现级联绑定(显示数据绑定异常),将阿猫和3这两个值分别赋给pet.name和pet.age,所以这时候就需要自定义一个Converter来实现这

2021-07-11 17:19:50 489

原创 自定义对象参数绑定原理

可以直接在控制层方法中使用自定义对象参数接收表单传来的自定义对象数据,并直接封装进自定义对象参数中,这个参数可以直接在方法中使用①测试实例②判断所有参数解析器中是否有支持当前参数的参数解析器,如果有,找到并放入参数解析器缓存中调用这个参数解析器判断是否支持当前参数(实际上仍然和参数解析是一样的原理)实际上参数解析器里面有两个同名的这个参数解析器,不过只有【25】号参数解析器才支持对自定义参数的解析真正处理自定义对象参数的解析器(处理器)...

2021-07-11 16:32:40 102

原创 复杂参数底层解析原理

①复杂参数②简单示例这个示例主要是为了说明map和model里面的数据会被放进request的请求域中,实际上往这两个map和model存数据相当于request.setAttribute()以下是@RequestMapping("/success")修饰的方法,参数加上required=false是为了说明当前参数并不是必需的②Map和Model的解析无论是Map还是Model类型的参数,底层虽然调用的解析器不一样,但是解析器解析参数值都是调用mavContai...

2021-07-11 12:57:36 74

原创 可支持的ServletAPI类型的参数

底层的解析器判断,实际上ServletAPI底层原理就是参数类型解析底层原理

2021-07-09 16:54:49 87

原创 常用类型参数底层原理

①首先,在DispatchServlet的doDispatch方法中中先找到了处理当前请求的Handler(即知道了哪一个Controller的哪一个方法处理当前请求)②从所有的处理器适配器中找到当前处理器的处理器适配器0 - 支持方法上标注@RequestMapping1 - 支持函数式编程的(这两种adapter更常用)③使用handlerAdapter执行目标方法在handleInternal方法中调用invokeHandlerMe...

2021-07-09 16:45:02 196

原创 记录一下写SSM项目遇到的问题

①分页需要的是整型数据,不能是String

2021-07-09 13:34:17 177 1

原创 常用参数注解的基本使用

①路径变量@PathVariable->可以使用<String,String>限定的Map来接收所有的路径变量②@RequestHeader获取请求头可以使用@RequestHeader注解获取请求头信息也可以使用Map<String,String>、MultiValueMap或者HttpHeaders来接收所有的请求头信息,③@RequestParam 获取请求参数④@CookieValue获...

2021-07-09 11:45:10 500 1

原创 请求映射底层原理

继承树关系请求通过DispatchServlet执行路径①先经过HttpServlet的service方法进行请求分发②调用对应的doGet(doPost,doDelete,doPut)等方法,但因为FrameworkServlet中重写了这些方法,所以调用重写后的方法,开始调用this.processRequest(request, response)③processRequest方法内部调用doService方法,在FrameworkServlet只是声明了...

2021-07-08 19:00:10 111

原创 rest的使用与原理

@xxxMapping; Rest风格支持(使用HTTP请求方式动词来表示对资源的操作)以前:/getUser 获取用户 /deleteUser 删除用户 /editUser 修改用户 /saveUser 保存用户 现在: /user GET-获取用户 DELETE-删除用户 PUT-修改用户 POST-保存用户核心Filter;HiddenHttpMethodFilter用法: 在表单中设置method=post,并且设置一个隐藏域 _method=put(delete) ...

2021-07-08 16:13:08 181

原创 SpringBoot静态资源映射原理

①静态资源读取只要静态资源放在类路径下: /static、public 、/resources 、/META-INF/resources这四个类路径目录下,则访问 : 当前项目根路径/ + 静态资源名就可以读取到这四个目录下的静态资源原理: 静态映射/**请求进来,先去找Controller看能不能处理。不能处理的所有请求又都交给静态资源处理器。静态资源也找不到则响应404页面...

2021-07-08 14:23:42 578 1

原创 SpringBoot开发中好用的配置

①项目打包插件<plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId></plugin>②进行配置绑定(yaml等配置文件)时配置有提示配置提示依赖<dependency><groupId>org.springf...

2021-07-08 09:19:51 58

原创 Failed to execute goal org.apache.maven.plugins:maven-clean-plugin:3.1.0:clean (default-clean)

可能是因为有地方正在用要清理掉的程序,比如cmd里面正在运行这个项目,所以maven清除不了

2021-07-06 14:26:43 603

原创 boot-0.0.1-SNAPSHOT.jar中没有主清单属性

①没有声明版本仲裁中心<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.3.4.RELEASE</version></parent>②没有安装打包插件,导致打包后解压出来的文件有不一致的地方&

2021-07-06 14:24:38 681

原创 SSM项目——小型图书管理系统开发遇到的问题

①xxxClassNotFound找不到类jar导入失败,以下是lib目录存放正确位置,不能把lib目录放在classes目录下②Caused by: com.sun.org.apache.xerces.internal.impl.io.MalformedByteSequenceException: 2 字节的 UTF-8 序列的字节 2 无效。...

2021-06-23 15:23:43 1321

原创 Spring中@Autowired在Test类中注入失败为NULL的问题

创建了一个底层Mapper接口实现类在同一个包下或者就在当前类下(实际上在哪都不行)使用@test测试发现IOC容器不能注入值,或者说注入值为null结论就是test方法内不能实现IOC容器自动注入

2021-06-15 16:20:04 2100 1

原创 SpringBoot自动配置流程

①加入父项目做版本仲裁中心,规定好了版本号(可以自己在pom文件中修改版本参数)②dependency导入相应的场景启动器,即导入场景相关的依赖(根据版本仲裁中心决定版本)③主程序类(SpringBoot核心配置类)开启包扫描,并将主程序所在的包及其子包下的所有组件在IOC容器中注册④主程序类加载所有场景的127个自动配置类,并根据场景启动器加载进来的jar进行条件装配,按照需求将需要的组件注册进IOC容器...

2021-06-13 08:10:10 159

原创 SpringBoot自动配置底层原理

①@SpringBootApplication实现自动配置如上,SpringBoot实现自动配置是通过注解@SpringBootApplication实现的。而这个注解又是三个注解的复合注解①SpringBootConfiguration@SpringBootConfiguration实现了@Configuration注解,所以实际上这个注解的作用主要是为了标识主程序类是SpringBoot的核心配置类(配置类会作为组件注册进IOC容器中)②@ComponentScan这个注解实际上没什么好

2021-06-08 12:31:25 100

原创 SpringBoot-底层注解

①@Import②@Conditional③@ReportResource④@ConfigurationProperties

2021-06-07 11:48:12 78

原创 SpringBoot的特性

①依赖管理②自动配置③Configuration注解

2021-06-07 10:46:57 88

原创 SpringBoot-01-helloSpringBoot

第一个SpringBoot程序

2021-06-07 10:26:57 41

原创 SSM整合流程

①目录结构②需要导入的依赖 <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>4.12</version> </dependency> <!--mybatis-->

2021-06-01 11:14:22 29

原创 SpringMVC下的请求转发和重定向

注意点:forward方式下的请求转发和redirect重定向是不会走视图解析器的,所以这两种情况需要走全路径①重定向重定向是客户端向服务器发送请求,而服务器返回一个地址给客户端,客户端重新向这个地址发起一次新的请求,而这次犯的错误是将要请求的资源放在了WEB-INF目录下,外界是无法直接访问WEB-INF目录下的资源②请求转发而请求转发是客户端总计只发送一次请求给服务器,服务器接受到请求之后,执行业务代码,然后在服务器层面将请求转发给另一个资源,此时就没有外界无法访问WEB-INF下的资源的限

2021-05-19 08:56:16 171

原创 Restful风格

1

2021-05-18 17:11:15 43

原创 第一个SpringMVC程序(基于注解)

①在web.xml中注册DispatcherServelt②配置SpringMVC配置文件开启注解扫描,自动注入处理映射器和处理器适配器,配置视图解析器③配置相应的控制器这里只是简单示例,正常的控制器应该要与service层和DAO层交互执行相应的业务处理④配置要展现的视图因为DispatcherServlet将数据模型传给了视图,所以视图可以取出数据模型中的数据⑤部署到tomcat服务器中项目结构:遇到的问题:找不到页面404错误①项目运行时没有lib目录,运行时也没有找到

2021-05-18 14:20:52 77

原创 SpringMVC执行流程

图片来自于狂神说,如有侵权联系删除①外界请求进来服务器是,都得先经过DispatcherServlet能做到上述这一点,是因为在配置web.xml中DispatcherServlet时设置url-pattern为"/"/ 和 / 的区别*:"/“表示只匹配我们编写的请求而不包括.jsp,而”/"包括.jsp,如果使用"/"时,会导致要进入jsp页面又进来DispatcherServlet寻找同名的Controller,最后会因为找不到同名的Controller报404错误②处理映射器(Han..

2021-05-18 09:13:50 28

原创 Mybatis——缓存

Mybatis读取数据流程(假设已开启二级缓存)①查询当前mapper的二级缓存中是否有要查找的数据②如果①没有查找到,则查询当前SqlSession的一级缓存中是否有查找的数据③如果②没有查找到,则连接数据库,查询并返回要查找的数据④自动将查找的数据保存到当前SqlSession的一级缓存中⑤当前SqlSession关闭时,会将当前一级缓存中保存的数据分别存放到各个对应mapper的二级缓存中注意事项:开启二级缓存二级缓存需要显式在Mybatis全局配置文件中设置cacheEnabled,

2021-05-16 17:23:47 84

原创 Mybatis——动态sql

where 元素只会在子元素返回任何内容的情况下才插入 “WHERE” 子句。而且,若子句的开头为 “AND” 或 “OR”,where 元素也会将它们去除。set 元素会动态地在行首插入 SET 关键字,并会删掉额外的逗号(这些逗号是在使用条件语句给列赋值时引入的)——引用于Mybatis官网简介①if语句②choose、when、otherwise语句(执行一个其他就不会执行)③foreach语句collection属性值应该是要选取的参数集合的参数名,即@Param指定的这个集合的参

2021-05-16 12:57:39 42 1

原创 Mybatis复杂查询

①一对多——子查询②一对多——结果查询这里遇到一个问题——column的属性值中不能带有.符号,不然会报错③多对一——子查询④多对一——结果查询

2021-05-16 11:27:24 34

原创 Mybatis学习遇到的问题

project中的pom写入配置设置父项目并添加依赖mybatis核心配置参数分别为设置安全连接,编码集,字符集可以在idea右侧连接数据库,获取url做完核心配置之后,获取SqlSession对象(使用IOC容器)...

2021-05-16 10:45:09 121

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除