spring
文章平均质量分 90
格格巫 MMQ!!
==========青春肆意飞扬,热爱经久不息。==============
展开
-
自定义springboot-starter,感受框架的魅力和原理
例如,假设您正在为“acme”创建一个启动器,并且您命名自动配置模块acme-spring-boot和启动器acme-spring-boot-starter。如果您只有一个模块将两者结合起来,请将其命名为acme-spring-boot-starter.引入starter — xxxAutoConfiguration — 容器中放入组件 ---- 绑定xxxProperties ---- 配置项。我们Ctrl点击spring-boot-starter-web,进入内部pom,我们发现里面有个。原创 2022-10-20 11:30:39 · 187 阅读 · 0 评论 -
Jmix 中 REST API 的两种实现
你知道吗,在 Jmix 中,REST API 有两种实现方式!很多应用是采取前后端分离的方式进行开发。这种模式下,对前端的选择相对灵活,可以根据团队的擅长技能选择流行的 Angular/React/Vue 之一,或者前端为App/小程序等手机应用。Jmix 的一种典型应用场景就是作为这种类型应用程序的高级别管理 UI 和后端。为此,Jmix 提供了强大的通用 REST API 功能,支持包括开箱即用的实体、文件、元数据、用户会话的 API 以及经过简单配置就能支持的业务逻辑(服务)REST API。原创 2022-09-28 18:24:37 · 333 阅读 · 0 评论 -
AOP实现系统告警
主要借助spring的切面技术,以及springboot的自动装配原理,实现了发送告警逻辑。对业务代码无侵入,只需要在业务代码上标记注解,就可实现可插拔的功能,比较轻量。原创 2022-09-19 10:43:54 · 217 阅读 · 0 评论 -
配置 Druid 数据源及密码加密-SpringBoot 2.7
在SpringBoot中配置 Druid 数据源及密码加密的方法前文集成 MyBatis Plus,实现了一组增删改查接口。在启动服务时,从控制台中可以看出 Spring Boot 默认使用 Hikari 作为数据库连接池,Hikari性能很优秀。在国内使用较多的连接池还属阿里开源的 Druid,中文发音为德鲁伊。Druid 结合了 C3P0、DBCP 等 DB 池的优点,同时还加入了日志监控,可以很好的监控 DB 池连接和 SQL 的执行情况。在 Spring Boot 中集成 Druid 可通过三种方式原创 2022-08-06 14:42:04 · 881 阅读 · 0 评论 -
开源MyBatisGenerator组件源码分析
到此为止,仍然没有生成具体的code内容文本,mybatis3中在后面写文件过程时才会组装,例如org.mybatis.generator.codegen.mybatis3.javamapper.JavaMapperGenerator。3.CONDITIONAL条件模式,(1)可选生成独立的主键类(单一字段主键不生成独立类,非单一字段则生成(联合主键))(2)有2个以上text大字段,生成xxxWithBLOBs包装类。但复杂的是,去适配不同的配置模式,动态的组装、拼接。再想想还可以做什么?...原创 2022-07-30 10:43:33 · 346 阅读 · 0 评论 -
盘点Spring/Boot的那些常用扩展点
ImportSelector和ImportBeanDefinitionRegistrar的方法是有入参的,也就是注解的一些属性的封装,所以就可以根据注解的属性的配置,来决定应该返回样的配置类或者是应该往容器中注入什么样的类型的Bean,可以看一下@EnableAsync的实现,看看是如何根据@EnableAsync注解的属性来决定往容器中注入什么样的Bean。所以这就涉及了Bean的创建,销毁的过程,也就是面试常问的Bean的生命周期。我之前写过两篇文章,来剖析Bean的生命周期的源码。...原创 2022-07-26 14:43:20 · 314 阅读 · 0 评论 -
想知道Vue3与Vue2的区别?概括介绍vu3使用
从Vue3发布以来,我就一直对其非常感兴趣,就一直想着将其投入公司的生产中,但是开始考虑到很多不确定性就暂时对一些很小的功能进行一些尝试;慢慢的发现组合式Api的形式非常适合开发(个人感觉),尤其是Vue3.2推出了setup语法糖后直呼真香。后面公司的新项目几乎全部采用了Vue3了。使用Vue3开发也将近大半年了,所以写了这篇文章对Vue2和Vue3做了一个对比总结,一是为了对这段时间使用Vue3开发做些记录,二是为了帮助更多的小伙伴更快的上手Vue3。本篇文章主要采用选项式Api,组合式Api,setu原创 2022-06-21 11:37:21 · 365 阅读 · 0 评论 -
RabbitMQ 3.9
1、认识MQ1.1、什么是MQ?MQ全称:message queue 即 消息队列这个队列遵循的原则:FIFO 即 先进先出队列里面存的就是message1.2、为什么要用MQ?1.2.1、流量削峰这种情况,要是访问 1020次 / s呢?这种肯定会让支付系统宕机了,因为太大了嘛,受不了,所以:流量削峰这样就让message排着队了,然后使用FIFO先进先出,这样支付系统就可以承受得了了1.2.2、应用解耦上面这种,只要支付系统或库存系统其中一个挂彩了,那么订单系统也要挂彩,因此:原创 2022-05-07 11:07:20 · 668 阅读 · 0 评论 -
Spring 源码 Spring Bean的创建过程的前期准备
到目前为止,Spring源码中AbstractApplicationContext#refresh方法的已经解读到第11个方法finishBeanFactoryInitialization,前10个方法介绍了:BeanFactory的准备,创建,刷新,个性化BeanFactory的扩展点,自定义属性解析;环境信息Environment的加载(包括环境变量、系统变量等);BeanDefinition的加载,解析,自定义xml的方式;BeanFactoryPostProcessor的注册与执行流程,Be原创 2022-05-07 10:37:11 · 196 阅读 · 0 评论 -
【Java分享客栈】 超简洁SpringBoot使用AOP统一日志管理
实现本篇AOP统一日志管理写法来源于国外知名开源框架JHipster的AOP日志管理方式1、引入依赖 org.springframework.boot spring-boot-starter-aop2、定义logback配置1)、dev、test环境的spring-web包定义日志级别为INFO,项目包定义日志级别为DEBUG;2)、prod环境的spring-web包定义日志级别为ERROR,项目包定义日志级别为INFO;<?xml version="1.0" en原创 2022-05-06 15:59:18 · 309 阅读 · 0 评论 -
Spring 按业务模块输出日志到不同的文件
一、背景在我们开发的过程中,可能存在如下情况:1、有些时候我们需要调用第三方的接口,一般情况下,调用接口,我们都会记录请求的入参和响应的。如果我们自己系统的日志和第三方的日志混合到一个日志文件中,那么可能查找日志就比较麻烦了。那么我们是否可以将第三方系统的日志单独放到另外的文件中呢?2、或者有些时候我们系统需要进行数据迁移,如果某条数据迁移失败了,是否单独放到一个日志文件中比较清晰呢?二、需求从上图中可以看到我们的需求比较简单1、系统启动日志和 login 模块日志记录到 springboot转载 2022-05-06 15:43:35 · 451 阅读 · 0 评论 -
【架构视角】一篇文章带你彻底吃透Spring
框架的意义对于程序员来说,我们通常知道很多概念,例如组件、模块、系统、框架、架构等,而本文我们重点说 框架。框架,本质上是一些实用经验集合。即是前辈们在实际开发过程中积攒下来的实战经验,累积成一套实用工具,避免你在开发过程中重复去造轮子,特别是帮你把日常中能遇到的场景或问题都给屏蔽掉,框架的意义在于屏蔽掉开发的基础复杂度、屏蔽掉此类共性的东西,同时建立严格的编码规范,让框架使用者开箱即用,并且只需要关注差异面,即业务层面的实现。简而言之,框架只干一件事,那就是简化开发。然后在此基础上,可能会再考虑一些安原创 2022-04-29 10:14:48 · 774 阅读 · 5 评论 -
Spring Data开发手册|Java持久化API(JPA)需要了解到什么程度呢?
JPA,Java Persistence API是Sun官方提出的Java持久化规范。它为Java开发人员提供了一种对象/关联映射工具来管理Java应用中的关系数据。它的出现主要是为了简化现有的持久化开发工作和整合ORM技术ORM:通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中。本质就是将数据从一种形式转换到另外一种形式。同时也结束了Hibernate、TopLink等ORM框架各自为营的局面。JPA充分吸收了Hibernate、TopLink等ORM框架的基础上发展起原创 2021-04-17 08:46:45 · 188 阅读 · 0 评论