自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 自动生成接口文档、Smart-doc(Maven插件)使用教程

接口文档生成器 Smart-doc 使用1. 添加依赖 <!-- smart doc --> <plugin> <groupId>com.github.shalousun</groupId> <artifactId>smart-doc-maven-plugin</artifactId> &l

2021-09-08 01:44:35 3890

原创 Java爬虫框架WebMagic简介及使用

一、介绍​ webmagic的是一个无须配置、便于二次开发的爬虫框架,它提供简单灵活的API,只需少量代码即可实现一个爬虫。webmagic采用完全模块化的设计,功能覆盖整个爬虫的生命周期(链接提取、页面下载、内容抽取、持久化),支持多线程抓取,分布式抓取,并支持自动重试、自定义UA/cookie等功能。二、概览​ WebMagic项目代码分为核心和扩展两部分。核心部分(webmagic-c...

2019-09-27 15:35:42 9864

原创 静态代理、动态代理、Cglib代理实现及比较

一、静态代理这种代理方式需要代理对象和目标对象实现一样的接口。优点:可以在不修改目标对象的前提下扩展目标对象的功能。缺点:冗余。由于代理对象要实现与目标对象一致的接口,会产生过多的代理类。不易维护。一旦接口增加方法,目标对象与代理对象都要进行修改。举例:保护用户功能的静态代理实现接口类 IUserDao目标对象 UserDao代理对象 UserDapProxy测试类 ...

2019-09-24 16:56:43 312

原创 SpringBoot-自定义监听器及自定义Start

自定义监听器配置在META-INF/spring.factoriesApplicationContextInitializerpublic class HelloApplicationContextInitializer implements ApplicationContextInitializer<ConfigurableApplicationContext> { @...

2019-09-03 17:12:20 567

原创 SpringBoot-使用Druid数据源整合Mybatis

1、Druid简介:Druid首先是一个数据库连接池。Druid是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid已经在阿里巴巴部署了超过600个应用,经过一年多生产环境大规模部署的严苛考验。Druid是阿里巴巴开发的号称为监控而生的数据库连接池!同时Druid不仅仅是一...

2019-08-15 13:59:47 391

原创 SpringBoot-默认数据源HikariDataSource对数据库操作及自动装配原理

默认数据源HikariDataSource对数据库操作在创建项目时选择JDBC以及MySQL驱动,让SpringBoot自动装配所需组件[外链图片转存失败(img-QzCfeTn6-1565848669773)(/Users/guih/Desktop/1.png)]创建完成后默认的pom.xml文件如下<?xml version="1.0" encoding="UTF-8"?&g...

2019-08-15 13:58:58 24323 1

原创 SpringBoot-外置Servlet容器启动原理

Servlet3.0规则​ 1、服务器启动(web应用启动)会创建当前web应用里面每一个jar包里面ServletContainerInitializer实例:​ 2、ServletContainerInitializer的实例放在jar包的META-INF/services文件夹下,有一个名为javax.servlet.ServletContainerInitializer的文件,内容就...

2019-08-09 02:32:35 157

原创 SpringBoot内置容器相关知识

SpringBoot嵌入式容器相关知识1、配置嵌入式Servlet容器SpringBoot默认使用Tomcat作为嵌入式的Servlet容器;[外链图片转存失败(img-JXF1mSdG-1563123555332)(/Users/guih/Desktop/Spring-Boot/SpringBoot/%E6%BA%90%E7%A0%81%E3%80%81%E8%B5%84%E6%96%99...

2019-07-15 01:00:07 395

原创 SpringBoot嵌入式Servlet容器自动配置原理

SpringBoot嵌入式Servlet容器自动配置原理EmbeddedServletContainerAutoConfiguration:嵌入式的Servlet容器自动配置类@AutoConfigureOrder(Ordered.HIGHEST_PRECEDENCE)@Configuration@ConditionalOnWebApplication // Web应用下自动配置才会生效...

2019-07-15 00:59:06 802

原创 SpringBoot响应自定义异常消息并且自动识别客户端与浏览器做出不同响应

SpringBoot响应自定义异常消息并且自动识别客户端与浏览器做出不同响应使用 @ControllerAdvice 注解和 @ExceptionHandler 注解将异常捕获后直接返回数据。(这时候是没有自适应效果,浏览器还是客户端请求错误都是返回JSON形式数据)@ControllerAdvicepublic class MyExceptionHandler { // 浏览器客...

2019-07-11 16:25:07 534

原创 SpringBoot异常自动处理机制

SpringBoot异常自动处理机制ErrorMvcAutoConfiguration中注入了四个重要的类,分别是DefaultErrorAttributes(用处共享页面中的数据)、BasicErrorController、ErrorPageCustomizer、DefaultErrorViewResolver四个类。当发生错误时,1、ErrorPageCustomer会将请求转发到/e...

2019-07-11 15:04:55 343

转载 Java内存管理与垃圾回收

作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明。谢谢!整个教程中已经不时的出现一些内存管理和垃圾回收的相关知识。这里进行一个小小的总结。Java是在JVM所虚拟出的内存环境中运行的。内存分为栈(stack)和堆(heap)两部分。我们将分别考察这两个区域。栈栈的基本概念参考纸上谈兵: 栈 (stack)。许多语言利用栈数据...

2019-06-10 16:41:36 111

原创 使用Java五步实现短信验证码登录

1.去阿里云注册账号后创建短信模板和短信签名(在后边需要用到短信签名以及短信模板版)2.创建AccessKeyId3.代码实现发送短信import com.aliyuncs.DefaultAcsClient;import com.aliyuncs.IAcsClient;import com.aliyuncs.dysmsapi.model.v20170525.SendSmsRe...

2019-05-14 18:35:03 9668 10

原创 Redis基础(Redis学习笔记)

Redis简介以及多种数据数据结构1. 是什么开源免费的,用c语言编写的,遵守BSD协议是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSQ数据库之一,也被人们称为数据结构服务器2. 特点支持数据持久化,将内存中的数据保存在磁盘中,重启时可以再次加载进行使用不仅仅支持key-value类型的数据,同时还提供li...

2019-03-18 10:48:02 207

原创 Linux学习笔记

本文用于记录和梳理对Linux的学习1. Linux系统特点及基础命令

2019-03-04 17:46:19 154

原创 Centos7部署LAMP环境

安装PHP默认会安装依赖的Apache:yum install php启动httpd服务:systemctl start httpd输入服务器IP测试Apache是否正常测试PHP是否正常(默认的Apache站点目录:/var/www/html):创建一个index.php文件,输入php脚本:&lt;?php phpinfo();?&gt;保存退出安装MySQL:yum insta...

2019-03-04 17:42:58 442

原创 Linux网络相关命令及Shell入门

网络相关命令1.Ping命令作用:检测主机与目标主机之间的连通性语法:#ping ip/域名/主机名2.netstat作用:查看网络的连接信息语法:#netstat -lntp(-t:tcp协议,-n:将字母转化成数字,-l:列出监听状态,-p:显示进程相关信息)#netstat -an(-a:显示全部 -n:字母转化成数字)3.traceroute作用:查找当前主机与目标主机之...

2019-03-04 17:39:40 280

原创 Vim编辑器学习笔记

Vim三种模式:命令模式:不能对文件直接编辑,可以输入快捷键进行一些操作(删除行、复制行、移动光标、粘贴等),打开文件后默认进入的模式编辑模式(输入模式):对文件内容进行编辑末行模式:可以在末行输入命令来对文件进行操作(搜索、替换、保存、退出、撤销、高亮)1. Vim打开文件的方式#vim 文件路径 作用:打开指定文件#vim +数字 文件路径 作用:打开指定文件,并将光标...

2019-03-04 17:27:23 451

原创 Linux权限管理

Linux将文件可存/取访问的身份分为三个类别:owner、group、others,有三个权限,read、write、execute等权限Linux中有读、写、执行权限读权限:对于文件夹来说,读权限影响用户是否能够列出目录结构、对于文件来说,影响用户是否可以查看文件内容写权限:对于文件夹来说,影响用户是否可以在文件夹创建/删除/复制到/移动到对于文件来说,影响用户是否可以编...

2019-03-04 17:18:01 237

原创 Linux自有服务

1.运行模式(运行级别)在Linux中存在一个进程:init(initialize,初始化),进程id是1(ps -ef | grep init查看)该进程存在一个对应的配置文件:inittab(系统运行级别配置文件,位置/etc/inittab)文件的主要内容centenos中存在七种运行级别/模式0 - 表示关机级别(不要将运行级别设置成0)1 - 单用户模式2 - 多用户模式...

2019-03-04 16:49:51 366

原创 Linux系统特点及基础命令

Linux系统特点开放性(开源)多用户、多任务、良好的用户界、优异的性能与稳定性多用户多任务介绍单用户:一个用户,在登陆计算机(操作系统),只能允许同时登陆一个用户单任务:一个任务,允许用户同时进行的操作任务数量Windows:单用户、多任务Linux:多用户、多任务终端的组成部分目录结构Bin:全称Binary,含义是二进制。存储的都是一些二进制文件,可以被运行的De...

2019-03-04 16:25:41 1001

原创 SSM框架整合笔记

最近学习了SSM框架,特地整理出了三大框架整合的笔记,以便以后学习。整合的时候也踩了些坑,都记录在文章末尾,大家如果遇到同样的错误,可以参考。首先是SSM系统架构图整合思路整合dao层mybatis与spring整合,使用spring管理mapper接口使用mapper的扫描前自动扫描mapper接口在spring中注册整合service层使用spring管理 ...

2019-01-13 02:11:47 1372

原创 SpringMVC---请求流程分析

在这之前,我们先来看一张SpringMVC框架的请求流程图。从图中可以看到,请求过程大致如下发起请求到前端控制器(DispatcherServlet)前端控制器请求HandlerMapping查找 Handler(可以根据xml配置、注解进行查找)处理器映射器HandlerMapping向前端控制器返回Handler前端控制器调用处理器适配器去执行Handler处理器适配器去执行H...

2019-01-11 18:26:46 201

原创 Spring框架学习笔记

#大赛

2019-01-11 18:00:31 268 1

原创 Spring知识点笔记

博主是跟着视频来学习的Spring框架,用这篇文章来记录一下所学习的知识点,以便以后回顾,也是梳理一下知识。1. 启动Spring容器 获取对象 ApplicationContext context = new ClassPathXmlApplicationContext("applicationContext.xml"); context.getBean("BeanID");...

2019-01-11 17:59:04 204

原创 分析Spring容器启动流程

每当启动Web容器时(例如Tomcat),会读取Web应用中的web.xml文件。以下这段代码就是启动Spring容器的关键代码。ContextLoaderListener 类继承了ContextLoader,实现 了ServletContextListener接口。public class ContextLoaderListener extends ContextLoader impleme...

2019-01-11 17:26:25 459

原创 IDEA创建Maven Web工程

在IDEA创建Maven Web项目先创建一个项目选择图中选项下一步这个界面填写项目相应的位置创建后项目的结构目录如下进入项目设置中,创建对应的目录结构到此,一个基于Maven的Web工程就创建好了...

2019-01-11 15:55:50 288

转载 关于控制反转(IoC)与依赖注入(DI)

什么是控制反转?在讨论控制反转之前,我们先来看看软件系统中耦合的对象。从图中可以看到,软件中的对象就像齿轮一样,协同工作,但是互相耦合,一个零件不能正常工作,整个系统就崩溃了。这是一个强耦合的系统。齿轮组中齿轮之间的啮合关系,与软件系统中对象之间的耦合关系非常相似。对象之间的耦合关系是无法避免的,也是必要的,这是协同工作的基础。现在,伴随着工业级应用的规模越来越庞大,对象之间的依赖关系也越来...

2018-12-31 14:44:09 167

转载 Spring框架简介

Spring是什么一句话,Spring是一个开发应用框架,什么样的框架呢,有这么几个标签:轻量级、非侵入式、一站式、模块化,其目的是用于简化企业级应用程序开发。我们知道应用程序是由一组相互协作的对象组成,而在传统应用程序开发中,一个完整的应用是由一组相互协作的对象组成。所以开发一个应用除了要开发业务逻辑之外,最多的是关注如何使这些对象协作来完成所需功能,而且要低耦合、高内聚。业务逻辑开发是不可避...

2018-12-29 23:56:30 357

空空如也

空空如也

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

TA关注的人

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