WebMvcAutoConfiguration自动配置
今天来学习下WebMvcAutoConfiguration的自动配置,Spring mvc在web开发过程中是被使用最多的,开发中的各种各样的请求都跟spring mvc有关,所以有必要研究下spring boot中的这个配置类。 通过访问官方说明文档可以看到以下内容:官网地址 Spring Boot为Spring MVC提供了自动配置 自动配置在Spring的默认值之上添加了以下功能 包含 ContentNegotiatingViewResolver 和 BeanNameViewResolver 自动配置了ViewResolver(视图解析器:根据方法的返回值得到对应的视图对象(View),视图对象决定如何渲染(是转发 还是重定向)) ContentNegotiatingViewResolver :组合所有的试图解析器 如何定制:我们可以自己给容器中添加一个视图解析器,即可自动完成 Support for serving static resources, including support for WebJars...
DispatcherServletAutoConfiguration 自动配置
今天来学习下DispatcherServlet的自动配置在我们日常的开发中除了CharacterEncodingFilter之外,DispatcherServlet 也是必不可少的一个配置。 DispatcherServlet主要用作职责调度工作,本身主要用于控制流程,主要职责如下: 1、文件上传解析,如果请求类型是multipart将通过MultipartResolver进行文件上传解析; 2、通过HandlerMapping,将请求映射到处理器(返回一个HandlerExecutionChain,它包括一个处理器、多个HandlerInterceptor拦截器); 3、通过HandlerAdapter支持多种类型的处理器(HandlerExecutionChain中的处理器); 4、通过ViewResolver解析逻辑视图名到具体视图实现; 5、本地化解析; 6、渲染具体的视图等; 7、如果执行过程中遇到异常将交给HandlerExceptionResolver来解析。 首先在Spring...
HttpEncodingAutoConfiguration源码解析
在进行日常网页开发的时候,不可避免的会用到CharacterEncodingFilter,此拦截器用于解决网页开发中的编码问题。 在SpringBoot开发中HttpEncodingAutoConfiguration就成为不得不学的一个自动配置类 配置类声明打开该自动配置类可以看到该类上加的注解 123456789101112//指明是配置类@Configuration(proxyBeanMethods = false)//注解的beans将自动被Environment属性配置@EnableConfigurationProperties(HttpProperties.class)//只有在Web环境下生效@ConditionalOnWebApplication(type = ConditionalOnWebApplication.Type.SERVLET)//该类存在时生效@ConditionalOnClass(CharacterEncodingFilter.class)//存在该属性时生效 同时指定缺省默认值@ConditionalOnProperty(prefix =...
fastjson转换泛型问题
在Java开发中经常遇到数据对接的情形,通过接口请求返回json数据,然后对数据进行解析处理,为了通用,经常会有一个通用返回结果类 如下 123456789101112131415161718192021222324252627282930313233343536373839public class ReturnResult<T> { private Boolean status; private String message; private T data; public Boolean getStatus() { return status; } public void setStatus(Boolean status) { this.status = status; } public String getMessage() { return message; } public void...
docker重启后自动重启容器
由于本人刚开始学习docker没多久,每此docker重启后都需要手动启动容器,很麻烦 本文记录下如何在docker重启后自动重启容器 有两种方式 1、在创建容器时加入参数在创建容器时添加 --restart=always即可 2、对于已经创建的容器可以更新1sudo docker container update --restart=always 容器名或id
Servlet、Filter、Intecepter、Listener
本文介绍下SpringBoot中如何对这几者的注册与使用 SpringBoot有两种方式注册Servlet、Filter、Listener 1、代码注册:使用 ServletRegistrationBean、 FilterRegistrationBean 和 ServletListenerRegistrationBean进行注册; 2、 在 SpringBootApplication上添加@ServletComponentScan 注解后,Servlet、Filter、Listener 可以直接通过 @WebServlet、@WebFilter、@WebListener 注解自动注册 Servletservlet是一个用户请求。 servlet的匹配规则:从精确到模糊,匹配到之后不会管其他 比如:servlet1的url-pattern 是/test,serlet2的url-pattern是/*,访问的url为 http://localhost:8080/test...
网页标题搞怪特效
本文介绍下如何给Hexo NexT 主题中添加网页标题特效 准备工作新增tittlecheat.js 在next\source\js\oiyou文件夹下创建tittlecheat.js,添加代码: 123456789101112131415161718<!--崩溃欺骗--><!--其中注释部分需要jquery--> var OriginTitle = document.title; var titleTime; document.addEventListener('visibilitychange', function () { if (document.hidden) { //$('[rel="icon"]').attr('href', "/img/TEP.ico"); document.title = '╭(°A°`)╮ 页面崩溃啦 ~'; ...
github博客(nexT主题)开启gitalk
记录github博客开启gitalkgitalk: 一个基于 Github Issue 和 Preact 开发的评论插件,方便用户交流 准备工作注册github OAuth Apps 链接 点击注册后跳转到成功页面 修改主题下配置文件(netx/_config.yml) 12345678910gitalk: enable: true github_id: github账号 # 如huangboo461 repo: 仓库名称 # 如huangboo461.github.io client_id: Client ID # GitHub Application Client ID client_secret: Client Secret # GitHub Application Client Secret admin_user: github帐号 # 指定可初始化评论账户 distraction_free_mode: true # 设置语言: en | es-ES | fr | ru | zh-CN | zh-TW language:...
修改npm安装路径
修改npm安装路径 对于新手来的我说:修改之后,自定义安装的命令无法执行,我就直接把这里注释掉了,安装的时候默认是nodejs安装路径\node_modules下,就可以直接使用 这里还是贴出修改方法,待以后深入后寻找原因: npm默认安装路径为${APPDATA}\npm,对于一个强迫症而言是很不爽的,这里介绍下如何修改。 通过配置文件(路径:nodejs安装路径\node_modules\npm\npmrc) 修改如下即可: prefix = D:\nodejs\npm 修改完成后可使用 npm root -g查看
github+hexo部署博客
github+hexo部署博客本问讲述如何使用github+hexo搭建静态博客 1、github创建仓库2、博客开发1、安装nodejs 注意:对于新手来说,如果想要修改npm安装路径,只需要将npmc中配置(路径:nodejs安装路径\node_modules\npm\npmrc)注释即可,默认路径即为nodejs安装路径\node_modules下。 2、安装hexo-cli 使用npm安装hexo 1npm install -g hexo-cli #-g参数含义: 安装成功后,初始化博客 1hexo init blog 执行完毕后会生成blog文件夹 1cd blog 检测我们的网站雏形,分别按顺序输入以下三条命令: 123hexo new test_my_sitehexo ghexo s 访问地址localhost:4000,出现以下即为成功 现在来介绍常用的Hexo 命令 123npm install hexo -g #安装Hexonpm update hexo -g #升级hexo init...
