- 博客(12)
- 资源 (1)
- 收藏
- 关注
原创 类初始化和实例初始化
类的初始化静态变量的赋值静态代码块注:执行顺序为由上向下执行实例化初始化最先调用super()实例初始化父类为变量赋值,如果调用到方法(方法前默认有this关键字,也就是正在创建的对象)非静态代码块无参构造方法(最后)注:2和3顺序为从上而下执行main方法所在类会先执行所在类的初始化...
2021-04-30 04:40:07 78
原创 单例设计模式(实现方式)
我们来使用各种不同的方式来实现一下我们的单例模式吧!主要有懒汉式和饿汉式我们需要知道一些前提条件:将我们构造器进行私有化(只能创建一个实例)我们这个类自行创建(使用静态变量来完成)3.必须向我们的整个系统提供这个实例,可以进行调用饿汉式第一种方式: 可以直接创建public class Singleton{ public static final INSTANCE=new Singleton(); private Singleton(){ }}第二种方式:枚举类
2021-04-30 04:09:30 66
原创 Springboot_08文件上传解析
protected HttpServletRequest checkMultipart(HttpServletRequest request) throws MultipartException {//进行判断,看我们的请求类型是否是我们以multipart开头//return StringUtils.startsWithIgnoreCase(request.getContentType(), "multipart/"); if (this.multipartResolver != null &a.
2021-04-29 14:22:48 97
原创 Springboot_07拦截器源码分析
源码解析:preHandle方法:applyPrehandle方法详解 boolean applyPreHandle(HttpServletRequest request, HttpServletResponse response) throws Exception { for (int i = 0; i < this.interceptorList.size(); i++) { HandlerInterceptor interceptor = this.interceptorLis
2021-04-29 00:20:49 192
原创 SpringBoot_06参数绑定源码分析
普通参数绑定源码分析1.参数解析器:@Override @Nullable public Object resolveArgument(MethodParameter parameter, @Nullable ModelAndViewContainer mavContainer, NativeWebRequest webRequest, @Nullable WebDataBinderFactory binderFactory) throws Exception { //遍历参数处理器解析
2021-04-28 15:13:13 250
原创 SpringBoot_05返回值处理器源码分析(内容协商)
返回xml格式的<!--导入处理xml格式的类型--> <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <artifactId>jackson-dataformat-xml</artifactId></dependency>开启基于请求参数的内容协商功能spring: cont
2021-04-28 11:07:54 174
原创 SpringBoot_04使用Rest风格源码分析
每个请求最终都会执行我们的doDispatch方法分析如下:1.// 确定方法的请求,是由哪一个控制器来完成的,接下来看看是如何实现的吧mappedHandler = getHandler(processedRequest);1.1 protected HandlerExecutionChain getHandler(HttpServletRequest request) throws Exception { if (this.handlerMappings != null) {
2021-04-27 23:09:46 97
原创 SpringBoot_03欢迎页分析
这里就直接上源码了//new中的代码 WelcomePageHandlerMapping(TemplateAvailabilityProviders templateAvailabilityProviders, ApplicationContext applicationContext, Resource welcomePage, String staticPathPattern) { //当我们的欢迎页存在, 且路径为/**(也就是不添加静态资源前缀的话) 进入到里面,再跳
2021-04-27 20:40:59 162
原创 SpingBoot_02静态资源处理的问题
对静态资源进行相关操作:spring: mvc: static-path-pattern: /jt/** #为静态资源设置前缀 web: resources: static-locations: [classpath:/static/] #设置静态资源存放的目录,注意classpath后面不能有空格,且默认的存放位置也会不管用源码解析/*静态资源信息处理规则: 当我们的add-mapings设置为false时,会进入第一个if语句:直
2021-04-27 20:37:46 57
原创 SpringBoot_01@SpringBootApplication注解详解
对于我们的SpringMVC的底层原理就很多了欢迎使用Markdown编辑器你好! 这是你第一次使用 Markdown编辑器 所展示的欢迎页。如果你想学习如何使用Markdown编辑器, 可以仔细阅读这篇文章,了解一下Markdown的基本语法知识。新的改变我们对Markdown编辑器进行了一些功能拓展与语法支持,除了标准的Markdown编辑器功能,我们增加了如下几点新功能,帮助你用它写博客:全新的界面设计 ,将会带来全新的写作体验;在创作中心设置你喜爱的代码高亮样式,Markdown 将代
2021-04-27 20:17:19 161
原创 Session底层存储问题
对于我们的session存储问题,肯定是跟cookie脱不开关系的,下面我们来看一下吧!session : 是存储在服务器的cookie : 是放在我们的客户端的存储的方式呢?上图就是我们的一个存储方式了底层是以map的形式进行存储的,key: 就是一个随机生成的32位数,保证是唯一的value: 就是我们的session对象了服务器生成并发送我们的cookie服务器以,cookie 的形式来保存我们的那个唯一值,加入到浏览器缓存中,跳转到其他页面时,也会携带这个cookieJSES
2021-04-25 11:50:06 174
转载 MySQl连接时区问题
**mysql的连接配置时区问题**mysql 5之前的配置:driverClassName=com.mysql.jdbc.Driverurl=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf8&useSSL=falseusername=****password=****mysql 6之后的配置:设置时区serverTimezone为UTC比北京时间早8个小时。driverCla
2021-04-15 23:02:30 1093
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人