SpringMVC 基础

1.SpringMVC 基础原理 C 前端控制器 ——> DispatcherServlet M 数据对象 V 视图处理器ViewResvor <!—more–> 处理步骤: 发起请求到前端控制器 DispatcherServlet 然后这个控制器会调用 HandlerMapping 查找对应的 Controller或者说 Handler 找到了对应的 Controller 就让 HandlerAdaptor 去执行 handler 执行...

Read More

NioEventLoop 源码分析

NioEventLoop 源码分析1. SingleThreadEventExecutor 的 execute 方法NioEventLoop 的核心就在于它的 run() 他是在第一次添加任务的时候开始执行。那我们先看看第一次添加任务的地方,其实第一次添加任务的地方是在父类中的 execute() 方法。所以先去分析一下 SingleThreadEventExecutor 的execute() 方法。我把代码精简了贴出来,只看核心的部分。 123456789101112public voi...

Read More

SpringBoot 笔记 ( 四 ):web 开发

SpringBoot 笔记 (四): web 开发1、SpringBoot对静态资源的映射规则123456@ConfigurationProperties(prefix = "spring.resources", ignoreUnknownFields = false)public class ResourceProperties implements ResourceLoaderAware {//静态资源的路径 private static final St...

Read More

SpringBoot 笔记 ( 三 ):日志系统

SpringBoot 笔记 ( 三 ):日志系统1、日志框架日志框架就是防止我们再去像以前那样,一直进行System.out.println(“”)将关键数据打印在控制台。框架来记录系统的一些运行时信息,但是随着日志框架的增长,和接口的不一致,导致了使用上的差别很大,这里采用了一个类似于数据库驱动的模式,数据库驱动是 Java 提供的一个 API,然后真正的实现是需要各个数据库厂商去完成的,而 log 也开始采用这种面向接口编程的方法采用日志抽象层。 市面上的日志框架JUL、JCL、Jb...

Read More

SpringBoot笔记 ( 二 ):自定义配置

SpringBoot 笔记 ( 二 ):自定义配置1. 配置文件SpringBoot使用一个全局的配置文件,配置文件名是固定的: application.properties application.yml    修改SpringBoot自动配置的默认值,因为在所有的自动配置类中他们都会去读取我们的配置文件,如果说有配置这些项目就按照我们配置的,没有则使用自动配置。    支持两种格式,我们主要说说后面一种,前面比较简单就是采用的点的方式定...

Read More

Shiro安全框架:认证

Shiro 安全框架1. 认证1. 采用简单的对象登陆认证(SimpleAccountRealm)12345678910111213141516171819202122public class AuthenticationTest { // 创建一个简单的认证 realm 也就是认证信息存放在对象中的 SimpleAccountRealm simpleAccountRealm = new SimpleAccountRealm(); @Before publ...

Read More

SpringBoot笔记(一):启动流程

SpringBoot 笔记(一): 启动流程1. 配置开发环境1. 创建 Maven 项目然后我们首先在项目里面加上编译环境,防止每一次更新 Maven 的时候导致项目的语言级别自动被改成 Java5 然后导致编译不通过的问题。 123456789101112<profile> <id>jdk‐1.8</id> <activation> <activeByDefault>true</activeByDefault...

Read More

Bootstrap 源码分析

Netty 源码分析: Bootstrap1. 结构先看一个这个类的类层次结构,好,这个结构还是比较明晰的,然后看他的主要字段,因为这些字段比较重要,在后面的代码分析中是用的上的。 12345678// options 选项private final Map<ChannelOption<?>, Object> childOptions = new LinkedHashMap<ChannelOption<?>, Object>();// 属...

Read More

NioEventLoopGroup 源码分析

NioEventLoopGroup 源码分析 1. 在阅读源码时做了一定的注释,并且做了一些测试分析源码内的执行流程,由于博客篇幅有限。为了方便 IDE 查看、跟踪、调试 代码,所以在 github 上提供 netty 的源码、详细的注释及测试用例。欢迎大家 star、fork !2. 由于个人水平有限,对源码的分析理解可能存在偏差或不透彻的地方还请大家在评论区指出,谢谢!    从今天开始,就准备进军 ne tty 了,主要的想法是看看 netty4 中一些比...

Read More

Netty 入门

1. 粘包问题一 .长连接与短连接:1.长连接:Client方与Server方先建立通讯连接,连接建立后不断开, 然后再进行报文发送和接收。长连接在 netty 中是默认开启的,也就是我们创建了一个 Server 以后监听端口,我们的客户端去连接发现只要我们的客户端不主动的断开连接他们之间的连接是一直保持有效的。 2.短连接:Client方与Server每进行一次报文收发交易时才进行通讯连接,交易完毕后立即断开连接。此种方式常用于一点对多点通讯,比如多个Client连接一个Server。...

Read More


Powered by Hexo and Hexo-theme-hiker

Copyright © 2015 - 2021 昨夜凛雨 All Rights Reserved.

UV : | PV :