随笔分类 - 框架
摘要:前言 前面几个章节说明了下spring是如何发现并注册类到容器,以及最终的实例化。本文则讲下spring中较为核心的内容,aop概念,又叫切面式编程。切面编程可以做到无侵入性的改变代码的执行逻辑,比如我们经常涉及到的日志,事物等概念便可以用切面的思维来解决。spring aop会涉及到两个比较重要的
阅读全文
摘要:前言 前面几章spring已经把需要的注册的bean的信息已经全部加载到了BeanFactory中了,那么之后要做的事儿当然就是进行实例化了,当然了可能有人会问为何不在加载到bean信息的时候直接进行实例化呢,这不还需要依赖注入嘛,当然是要所有的都加载完了才能实例化。ApplicationConte
阅读全文
摘要:前言 上文说了springboot是如何发现并保存我们需要注册的bean,其最重要的就是依靠一个特殊的BeanFactoryProcessor-》ConfigurationClassPostProcessor,本文则主要来讲一下其详细的加载过程。先放一张大致的加载图 正文 这儿先回顾下上文Confi
阅读全文
摘要:前言 上一节中简要说明了下springboot自动化配置的关键,那么本节看下springboot真正的初始化过程,如何创建上下文并解析配置,加载我们注册到容器管理中的类。上节已经成功的创建了SpringApplication,那我们就看下其run方法究竟做了些什么 正文 我们从SpringAppli
阅读全文
摘要:最近发现看过的东西容易忘,但是写一遍之后印象倒是会深刻的多。 总所周知springboot极大的简化了java开发繁琐性,而其最大的优势应该就是自动化配置了。比如要使用redis,我们直接引入相关的包,将redis连接信息配置下即可使用。本文主要分析下springboot自动化配置的关键。 本文分析
阅读全文
摘要:今天有个接口打算使用矩阵变量来绑定参数,即使用@MatrixVariable注解来接收参数 调用接口后项目报了如下错误 org.springframework.security.web.firewall.RequestRejectedException: The request was reject
阅读全文
摘要:前言 最近参与的项目中,接口中返回的日期格式不对,发现项目中配置了fastjson作为spring的数据转换器,于是使用了fastjson的字段格式化转换注解 发现不起作用。这让我很疑惑,然后在fastjson的相关代码中打断点发现请求并没有进入,最后在springmvc的流程源码中发现最后调用的是
阅读全文
摘要:前言 mybatis中拦截器主要用来拦截我们在发起数据库请求中的关键步骤。其原理也是基于代理模式,自定义拦截器时要实现Interceptor接口,并且要对实现类进行标注,声明是对哪种组件的指定方法进行拦截。mybatis的四大组件Executor,ParameterHandler,ResultSet
阅读全文
摘要:前言 mybatis的缓存大家都知道分为一级和二级缓存,一级缓存系统默认使用,二级缓存默认开启,但具体用的时候需要我们自己手动配置。我们依旧还是先看一个demo。这儿只贴出关键代码 public interface AssetInfoMapper { List<AssetInfo> get(@Par
阅读全文
摘要:前言 前面两章我们构建了SqlSessionFactory,并通过SqlSessionFactory创建了我们需要的SqlSession,并通过这个SqlSession获取了我们需要的代理mapper。而SqlSession中最重要的则是用来处理请求的Executor,在上一章中我们创建了Simpl
阅读全文
摘要:前言 上篇笔记我们成功的装载了Configuration,并写入了我们全部需要的信息。根据这个Configuration创建了DefaultSqlSessionFactory。本篇我们实现构建SqlSession即mybatis的一次sql会话,并获取到我们常用的代理mapper接口类。在正文之前先
阅读全文
摘要:前言 mybatis是目前进行java开发 dao层较为流行的框架,其较为轻量级的特性,避免了类似hibernate的重量级封装。同时将sql的查询与与实现分离,实现了sql的解耦。学习成本较hibernate也要少很多。 我们可以先简单的回顾下mybatis的使用方式。一般两种方式,单独使用或者配
阅读全文
摘要:最近在做一个下载功能时,发现直接调用服务是可以下载的,但是通过gateway路由下载会报NPE异常,具体如下 java.lang.NullPointerException: null at java.util.concurrent.ConcurrentHashMap.putVal(Concurren
阅读全文
摘要:项目security_simple(认证授权项目) 1.新建springboot项目 这儿选择springboot版本我选择的是2.0.6 点击finish后完成项目的创建 2.引入maven依赖 下面是我引入的依赖 1 <?xml version="1.0" encoding="UTF-8"?>
阅读全文
摘要:目前这家公司前端用的是vue框架,由于在之前的公司很少涉及到前端内容,对其的了解也只是会使用js和jquery,所以..慢慢来吧。 在此之前需要先了解vue的大致语法和规则,可先前往官方文档进行学习https://cn.vuejs.org/v2/guide/ 1.搭建vue工程 使用vue一般有直接
阅读全文
摘要:1.所需的maven依赖 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-redis</artifactId> <version>2.0.0.RELEASE</version> </de
阅读全文

浙公网安备 33010602011771号