![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
后端
phil002
这个作者很懒,什么都没留下…
展开
-
【OKHHTP】干货走一波,走过路过不要错过
OKHTTP原创 2023-01-18 14:49:49 · 197 阅读 · 0 评论 -
【Selenium】WebDriverPool让动态爬虫变得更简单高效稳定
【Selenium】WebDriverPool让动态爬虫变得更简单高效稳定。翻译 2022-09-09 14:08:14 · 775 阅读 · 0 评论 -
【Mysql】基于tkmapper实现Mysql主从模式
1.实现原理(核心)动态切换数据源(实现AbstractRoutingDataSource类基于本地副本动态切换数据源)上述动态切换数据源时机,,最好的时机就是拦截mybatis的操作,写走主库读走从库(此处要谈从库读性能,有兴趣可了解下clickhouse)2.实现(此处着重描述动态数据源切换实现)其他配置可参考【shardingjdbc&Mysql】基于springboot+shardingjdbc+tkmapper实现mysql分库分表DynamicDataSource.jav原创 2022-03-11 16:58:00 · 593 阅读 · 0 评论 -
【shardingjdbc&Mysql】基于springboot+shardingjdbc+tkmapper实现mysql分库分表
1.实现原理(核心)1.分库原则2.分表原则3.动态切换数据源2.实现(配置及依赖就不过多描述了)注意事项:集成tkmapper分表时,table注解的名字命名,别指定具体表明,而是知道shardingjdbc指定的logicTable名字2.1.数据源配置ShardingTestDataSourceConfiguration.javaimport com.alibaba.druid.pool.DruidDataSource;import com.alibaba.druid.sprin原创 2022-03-11 16:41:30 · 1038 阅读 · 0 评论 -
【Mybatis&应用场景】Mybatis批量增删改操作(单条件与多条件下的最优操作)
前言 由于比较懒,每次处理批量操作的情景都喜欢直接copy一个模板进行修改,然后就有了下面的总结。 批量操作数据库的情景很多,关系型数据库的操作差不多,由于本人比较喜欢mybatis,简单的写下关于mybatis对于关系型数据库的单条件与多条件的情景下的批量操作,如果使用其他dao层框架,可以提取sql语句稍作修改即可哦。 模板都是用来提高效率的,欢迎copy哦1、批量新...原创 2021-09-23 10:33:02 · 814 阅读 · 0 评论 -
【Spring】使用Spring的Validation完成数据后端校验
前言数据的校验是交互式网站一个不可或缺的功能,前端的js校验可以涵盖大部分的校验职责,如用户名唯一性,生日格式,邮箱格式校验等等常用...转载 2021-08-10 23:48:40 · 842 阅读 · 0 评论 -
【Spring】filter,interceptor,controllerAdvice,aspect,controller执行顺序
1、filter,这是java的过滤器,和框架无关的,是所有过滤组件中最外层的,从粒度来说是最大的。配置方式,有直接实现Filter...转载 2021-08-10 23:47:37 · 863 阅读 · 0 评论 -
【Tomcat】Tomcat设置最佳线程数
性能压测的情况下,起初随着用户数的增加,QPS会上升,当到了一定的阀值之后,用户数量增加QPS并不会增加,或者增加不明显,同时请求的响应时间却大幅增加。这个阀值我们认为是最佳线程数。 为什么要找最佳线程数:1.过多的线程只会造成,更多的内存开销,更多的CPU开销,但是对提升QPS确毫无帮助2.找到最佳线程数后通过简单的设置,可以让web系统更加稳定,得到最高,最稳定的QPS输出...转载 2021-08-10 23:46:16 · 2295 阅读 · 0 评论 -
【Selenium】Selenium接口测试
GlobalVariable.javapackage seleniumInterfaceTest;/** * 全局常量类 * */public class GlobalVariable { /** 域名 */ public static final String HOST = "http://192.168.3.4:8081";}InterfaceEnt...原创 2021-05-03 15:41:56 · 4089 阅读 · 0 评论 -
【Shiro 】Shiro - 限制并发人数登录与剔除
实现思路 session+user+cache 将用户存进全局变量session中,用于获取,然后将用户存进缓存中,用用户的唯一标识绑定队列,队列中存用户的session,判断队列的长度来识别当前用户的数量,使用队列的先入先出特性来踢出用户filter代码import org.apache.shiro.cache.Cache;import org.apache.s原创 2021-05-03 15:32:21 · 955 阅读 · 2 评论 -
【Spring&Freemarker】Freemarker中如何读取jar中的template且支持原生的include引入其他模板
写这篇文章主要是考虑到如下问题会困扰大家java.io.FileNotFoundException: Template xxx.ftl not found.如何让模板中支持原生的<#include “common.ftl”>如何在编辑ftl文件中变量的时候能够有有效的提示(此处使用的是idea)解决方案首先,看下TemplateLoader实现类有哪些对于打jar包后的读取ftl文件需要通过流读取文件或者通过URL此处就简单的以StringTemplateLoader为例简单原创 2021-05-03 15:14:28 · 2384 阅读 · 2 评论 -
【Mybatis&MGB&Maven&Gradle】MGB集成Maven,Gradle以及Java启动项目配置
mybatis-generator.xmlMavenGradleJava原创 2021-05-02 13:04:48 · 277 阅读 · 2 评论 -
【Spring&Mybatis】Spring集成Mybatis原理
一.扫描Dao层接口并注入到容器中,实现类为相应接口的代理类二.加载配置,生成SqlSessionFactory对象,并注入容器三.动态生成SqlSession对象----现有Spring是基于代理对象动态生成的SqlSession(注:Mybatis执行流程第二步描述的是:通过SqlSession对象获取接口的代理对象,但是在与Spring集成的时候这个代理对象需要注入到容器里面去,使用的...原创 2019-11-29 09:41:26 · 241 阅读 · 0 评论 -
【Spring】三、手写spring
实现思路初始化流程1:加载Class,将指定包路径的类加载后全局存起来2:然后生成响应Class类的对象,全局存储3:加载aop,生成Class对于的aop对象集合,执行逻辑的时候,链式执行,执行所有切面4:加载ioc,将容器里面含有依赖注入注解的属性,通过反射为其赋值5:加载controller,同时生成handlerMapping执行流程通过uri找到相应的handlerMap...原创 2019-11-22 18:24:30 · 289 阅读 · 0 评论 -
【Spring】二、SpringMvc执行流程
1.用户发送请求到核心控制器(DispatcherServlet)2 核心控制器根据请求路径通过处理器映射器找到对应的方法(也就是URI与RequestMapping的匹配)3.处理器适配器执行找到的方法,处理业务,返回视图(ModelAndView)4.通过视图解析器处理返回的视图,返回真正的视图对象5.对视图页面进行渲染,渲染后响应给用户...原创 2019-11-29 09:46:34 · 171 阅读 · 0 评论 -
【Spring】一、SpringMvc初始化流程
一.Web容器的初始化过程1.Listener(监听器)执行contextInitialized()方法,初始化Root上下文,并创建Spring ioc容器2.Filter(过滤器)执行init()方法3.Servlet执行init()方法,初始化WebMvc上下文,并创建SpringMVC ioc容器(注: Spring和SpringMVC的容器具有父子关系,Spring容器为...原创 2019-11-29 09:44:55 · 415 阅读 · 0 评论 -
【Mybatis】三、手写mybatis
public class SimpleMybatis { public static void main(String[] args) { ResourceBundle resourceBundle = ResourceBundle.getBundle("mybatis-config"); //获取SqlSessionFactory实例 S...原创 2019-11-20 18:44:13 · 356 阅读 · 0 评论 -
【Mybatis】二、Mybatis执行流程
由于该图片画的好,描述的更好,拿来借鉴一下前置:上篇文章已经介绍了初始化流程,此处就从已经生成SqlSessionFactory开始介绍一.通过SqlSessionFactory生成SqlSession对象DefaultSqlSessionFactory.java private SqlSession openSessionFromDataSource(ExecutorType e...原创 2019-11-25 15:27:20 · 303 阅读 · 0 评论 -
【Mybatis】一、Mybatis初始化流程
从流程图可以看出,初始化过程大致有三步1.加载配置2.解析配置,将解析结果全局存到Configuration对象中3.根据Configuration来创建SqlSessionFactory(会话工厂)核心代码演示SqlSessionFactoryBuilder.java public SqlSessionFactory build(InputStream inputStream...原创 2019-11-25 14:08:34 · 633 阅读 · 0 评论 -
【SpringBoot&SpringBootAdmin】SpringBootAdmin应用监控基于eureka搭建
spring-boot-admin服务端配置pom.xml配置&amp;lt;parent&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot-starter-pa原创 2021-04-25 10:34:23 · 808 阅读 · 1 评论 -
【SpringBoot&Websocket】SpringBoot构建Websocket
简述该websocket支持单用户多处建立链接,支持点对点发送消息,群发Maven配置&amp;amp;lt;dependency&amp;amp;gt; &amp;amp;lt;groupId&amp;amp;gt;org.springframework.boot&amp;amp;lt;/groupId&amp;amp;gt; &amp;am原创 2021-04-25 10:32:19 · 1087 阅读 · 1 评论 -
【SpringBoot&Redis】SpringBoot搭建Redis消息订阅
Maven&amp;lt;dependency&amp;gt; &amp;lt;groupId&amp;gt;org.springframework.boot&amp;lt;/groupId&amp;gt; &amp;lt;artifactId&amp;gt;spring-boot-starter-data-redis&am原创 2021-04-25 10:30:43 · 640 阅读 · 0 评论 -
【SpringBoot&Swagger】二、如何更改Swagger页面布局与页面样式
后续补充…原创 2021-04-25 10:29:32 · 2032 阅读 · 0 评论 -
【SpringBoot&Swagger】一、SpringBoot整合Swagger构建强大的RESTful API文档
maven配置pom.xml&amp;amp;amp;amp;amp;lt;parent&amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;lt;groupId&amp;amp;amp;amp;amp;gt;org.springframework.boot&amp;amp;amp;amp;amp;lt;/groupId&amp;amp;amp;amp;amp;gt原创 2021-04-25 10:25:35 · 1289 阅读 · 0 评论 -
【SpringBoot&Dubbo】SpringBoot集成Dubbo,Dubbox分布式服务框架
恶魔之dubbo,dubbox分布式服务框架-简单易操作dubbo配置pom.xml&lt;!-- Spring boot start--&gt; &lt;dependency&gt; &lt;groupId&gt;org.springframework.boot&lt;/groupId&gt; &lt;artif原创 2021-04-25 10:22:32 · 1646 阅读 · 0 评论 -
【SpringCloud&Feign】Feign搭建
Maven依赖springboot版本:2.0.2.RELEASEspringcloud版本:Finchley.BUILD-SNAPSHOT &amp;amp;amp;amp;amp;lt;dependency&amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;lt;groupId&amp;amp;amp;amp;amp;gt;org.springframework.cloud&原创 2021-04-24 14:37:22 · 837 阅读 · 4 评论 -
【SpringCloud&Eureka】二、Eureka集群搭建
原理原理图基本原理上图是来自eureka的官方架构图,这是基于集群配置的eureka;处于不同节点的eureka通过Replicate进行数据同步Application Service为服务提供者Application Client为服务消费者Make Remote Call完成一次服务调用服务启动后向Eureka注册,Eureka Server会将注册信...原创 2021-04-24 14:26:41 · 1515 阅读 · 0 评论 -
【SpringCloud&Eureka】一、Eureka原理
Eureka架构 Eureka架构图是来自Eureka官方的架构图,大致描述了Eureka集群的工作过程。图中包含的组件非常多,可能比较难以理解,我们用通俗易懂的语言解释一下:Eureka Server为服务注册中心,通过Replicate进行数据同步Application Service 相当于本书中的服务提供者,Application Client相当于本书中的服务消费者;M...原创 2021-04-23 17:53:44 · 1484 阅读 · 0 评论 -
【SpringCloud&OAuth2】三、Spring cloud security oauth2搭建
简要描述基于mysql8存储client客户端信息,基于jwt生成token,基于redis存储code和tokenpom.xml配置&amp;amp;amp;amp;amp;amp;lt;parent&amp;amp;amp;amp;amp;amp;gt; &amp;amp;amp;amp;amp;amp;lt;groupId&amp;amp;amp;amp;amp;amp;gt;org.springframework.原创 2021-04-21 18:00:50 · 975 阅读 · 3 评论 -
【SpringCloud&OAuth2】二、OAuth2四中授权模式
授权码模式(authorization code)描述授权码模式(authorization code)是功能最完整、流程最严密的授权模式。它的特点就是通过客户端的后台服务器,与&amp;amp;amp;amp;amp;amp;amp;quot;服务提供商&amp;amp;amp;amp;amp;amp;amp;quot;的认证服务器进行互动。授权流程(A)用户访问客户端,后者将前者导向认证服务器。(B)用户选择是否给予客户端授权。(C)假设用户给予授权,认原创 2021-04-21 17:58:31 · 957 阅读 · 0 评论 -
【SpringCloud&OAuth2】一、OAuth2四个重要角色
Resource Owner资源拥有者Resource Server资源服务器Client第三方应用客户端,例如csdn通过QQ登录,csdn就属于QQ应用的客户端Authorization Server授权服务器角色之间的关系Resource Owner在Authorization Server注册Client信息,通过Client去访问Authorization Ser...原创 2021-04-21 17:57:38 · 1521 阅读 · 0 评论