- 博客(82)
- 收藏
- 关注
原创 springboot 启动依赖
了解你的依赖- mvn dependency:tree- IDEA Maven Helper 插件: DEA Maven Helper 详情链接统一管理依赖dependencyManagementBill of Materials - bomSpring boot 的起步依赖-Starter Dependencies: 直接面向功能, 一站获得说有相关依赖 ,不在复制粘贴- 官方的 Starters: spring-boot-starter定制自己的起步依赖 主要内容auto
2022-05-03 21:20:18 978
原创 SpringBean的一些定制
条件判断通过 BeanPostProcessor针对 Bean 实例在 Bean 创建后提供定制逻辑回调通过 BeanFactoryPostProcessor 进行判断针对 Bean 定义在容器创建 Bean 前获取配置元数据java Config 中需要定义为 static 方法配置加载编写 java Config 类引入配置类通过 component- scan通过 xml 文件 import生命周期 Lifecycle Callback创建时In
2022-05-03 15:13:02 187
原创 springBoot自动配置
一 自动配置步骤:1 编写 Java config @Configuration2 添加条件 @Conditional3.定位自动配置 META-INF/spring.factories二 条件注解大家庭1.条件注解@Conditional@Conditional是Spring4新提供的注解,它的作用是按照一定的条件进行判断,满足条件给容器注册bean。参数是Condition类的集合看看Condition接口matches就像正则的那个类一样…应该是true注入,false
2022-05-02 17:16:46 452
原创 什么是 JWT?
起源需要了解一门技术,首先从为什么产生开始说起是最好的。JWT主要用于用户登录鉴权,所以我们从最传统的session认证开始说起。session认证众所周知,http协议本身是无状态的协议,那就意味着当有用户向系统使用账户名称和密码进行用户认证之后,下一次请求还要再一次用户认证才行。因为我们不能通过http协议知道是哪个用户发出的请求,所以如果要知道是哪个用户发出的请求,那就需要在服务器保存一份用户信息(保存至session),然后在认证成功后返回cookie值传递给浏览器,那么用户在下一次请求时就可
2022-04-24 12:56:01 1450
原创 FastJson的parseObject方法报错 syntax error, expect {, actual string, pos 0}
报错信息使用 JSON.parseObject 把前端传来的json序列化字符串转换成Java对象时:syntax error, expect {, actual string, pos 0, fastjson-version 1.2.731解决办法debug下,msgStr为接收到的初始字符串,可以看出里面添加了java的转义字符 “\” 和前后各多了一个 " 。我们可以通过JSON.parse方法,把带有转义字符的字符串格式化成我们想要的样子,如下文中字符串str所示,里面去掉了转义字符。
2022-04-22 22:14:34 2027
原创 SpringAOP中的JointPoint和ProceedingJoinPoint使用详解(附带详细示例)
一 概念Joint PointJointPoint是程序运行过程中可识别的点,这个点可以用来作为AOP切入点。JointPoint对象则包含了和切入相关的很多信息。比如切入点的对象,方法,属性等。我们可以通过反射的方式获取这些点的状态和信息,用于追踪tracing和记录logging应用信息。Pointcutpointcut 是一种程序结构和规则,它用于选取join point并收集这些point的上下文信息。pointcut通常包含了一系列的Joint Point,我们可以通过pointcut来
2022-04-22 22:04:49 1575
原创 SpringBoot配置Maven的多环境配置自动切换
一、项目结构图二、以dubbo_account为例讲解配置maven环境的自动化切换<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4
2022-04-22 21:23:34 318
原创 springCloud eureka高可用
高可用HA(High Availability)是分布式系统架构设计中必须考虑的因素之一,它通常是指:通过设计减少系统不能提供服务的时间。 eureka 注册中心怎么高可用?答案是:对等复制,即 Peer to Peer 模式,副本之间不分主从,任何副本都可以接收写操作,然后每个副本之间相互进行数据更新。 分为两部分 第一部分:服务端的高可用1.代码实践,创建一个 eureka-server-ha 高可用注册中心服务端,客户端只要向多个服务端注册即可,大部分代码和 eureka-server 一样,
2022-01-23 11:21:23 1787
原创 optional = false
optional属性的默认值是true。optional 属性实际上指定关联类与被关联类的join 查询关系,optional=false 时join 查询关系为inner join,optional=true 时join 查询关系为left join。
2021-10-30 11:09:30 822
原创 Hibernate配置entity关联关系不生成数据库外键
两种方案一、使用@org.hibernate.annotations.ForeignKey(name=“none”)该注解已废弃二、使用@JoinColumn(name=“frame_id”,foreignKey = @ForeignKey(name=“none”,value= ConstraintMode.NO_CONSTRAINT))ForeignKey是javax.persistence包下的,该方案有缺陷:1)oneToMany一方不配置(没有这一属性2)如果存在oneToMany配置则
2021-10-30 10:51:35 438
原创 CascadeType
CascadeType.REMOVECascade remove operation,级联删除操作。删除当前实体时,与它有映射关系的实体也会跟着被删除。CascadeType.MERGECascade merge operation,级联更新(合并)操作。当Student中的数据改变,会相应地更新Course中的数据。CascadeType.DETACHCascade detach operation,级联脱管/游离操作。如果你要删除一个实体,但是它有外键无法删除,你就需要这个级联权限了。它
2021-10-30 10:37:52 532
原创 @Fetch
@Fetch(FetchMode.JOIN) 会使用left join查询 只产生一条sql语句@Fetch(FetchMode.SELECT) 会产生N+1条sql语句@Fetch(FetchMode.SUBSELECT) 产生两条sql语句 第二条语句使用id in (……)查询出所有关联的数据
2021-10-30 10:27:33 350
转载 Springboot -- 用更优雅的方式发HTTP请求(RestTemplate详解)
Springboot – 用更优雅的方式发HTTP请求(RestTemplate详解)
2021-09-27 13:48:56 153
原创 @RequiredArgsConstructor 代替@AutoWired注解
在我们写controller或者Service层的时候,需要注入很多的mapper接口或者另外的service接口 和 class类,这时候就会写很多的@AutoWired注解,代码看起来很乱lombok提供了一个注解:@RequiredArgsConstructor(onConstructor =@_(@Autowired))写在类上可以代替@AutoWired注解,需要注意的是在注入时需要用final定义,或者使用@notnull注解private final PropertyValueHold
2021-09-02 13:15:17 1456
原创 vue恢复初始数据
在vue开放中我们会遇到一个页面或者一个弹窗让他恢复到原始数据的情况,如果数据不多我们可以重设赋值一下,但数据较多的情况下会比较麻烦,这时候可以用到this.$data,this.$optionsthis.$options.data() 这个是vue原始的数据,就是你页面刚加载时的datathis.$data 这个是现在阶段的vue数据,就是你改变data的数据下面是一个弹窗的数据,在弹窗关闭时恢复数据,这里使用Object.assign将原始数据和现在的数据融合,会将改变的数据重置到初始状态
2021-08-19 22:38:23 2042 2
原创 el-input输入框的空格问题
技术栈:vue + elementui需求:在表单中,输入的内容要去除两端空格1.允许输入空格2.输入空格后表单非空验证不通过解决方式1:使用v-model的指令修饰符.trim(缺点:不能输入空格,不满足需求)解决方法2:使用blur方法在失去焦点时进行trim() <el-input v-model="formData.moduleId" @blur="formData.moduleId=$event.target.value.trim()".
2021-08-17 22:54:13 1299
原创 mysql表与表之间数据的转移
1.相同表结构INSERT INTO table1 SELECT * FROM table2;2.不同表结构INSERT INTO table1(filed1,...,filedn) SELECT table2.filed1,...,table2.filedn FROM table2;3.如果是不同数据库之间,参考以下:INSERT into db_ds_edu.t_exam_student(stu_id,stu_number,stu_name,school_id,campus_id,grad
2021-08-17 22:51:39 820
原创 关于@NotNull 和 @Nullable
@NotNull 和 @Nullable作用于方法上,参数上以及字段上。如果可以传入NULL值,则标记为@Nullable。如果不可以,则标注为@Nonnull。
2021-08-17 22:46:57 211
转载 疑难杂症篇(一):Java-double类型,整除后返回到前端回显成整数的问题
https://blog.csdn.net/u011602668/article/details/113251384.
2021-08-17 22:41:59 602
原创 @ManyToOne(optional = false)
optional属性的默认值是true。optional 属性实际上指定关联类与被关联类的join 查询关系,optional=false 时join 查询关系为inner join,optional=true 时join 查询关系为left join。
2021-08-09 23:27:13 1022
原创 jpa orphanRemoval = true的作用
这个注解表示是否删除孤立元素,例如映射关系是一对一,或一对多。加上这个注解,即使不设置级联关系,删除一的时候,多的一方肯定是孤立元素了。如代码: @OneToMany(mappedBy = "memberGroupEntity", cascade = CascadeType.ALL, fetch = FetchType.LAZY, orphanRemoval = true) @Where(clause = "deleted=" + AppConst.FLAG_NOT_DELETED)
2021-08-09 23:07:22 514
原创 springBoot-------实现简单的拦截器
在做后台管理系统时,要进入功能页需要判断一下用户是否登录,此时就体现出拦截器的作用了。springBoot实现拦截器主要有三步:1,编写一个拦截器实现HandlerInterceptor接口,并实现preHandle拦截方法2,将拦截器注册到容器中(实现WebMvcConfigurer接口,并重写addInterceptors方法)编写拦截器规则【注意静态资源的拦截】3 编写一个web项目,访问/main路径时候,要判断是否登录,登录即可进入,否则跳回登录页面并给予提示。一, 编写一个拦截器实现
2021-08-08 17:09:25 228
原创 SpringBoot项目中Swagger的配置和使用
一、概述Swagger是一个规范、完整的框架,用于生成、描述、调用和可视化Restful风格的Web服务。使用Swagger可以使前端和后端人员实时的进行接口查看和协调。也可对相关的接口进行测试。步骤:1 添加swagger的pom.xml依赖 <!-- swagger --> <dependency> <groupId>io.springfox</groupId> <artifa
2021-08-08 17:01:00 255
原创 VUE.JS IS DETECTED ON THIS PAGE. OPEN DEVTOOLS AND LOOK FOR THE VUE PANEL.
这个问题,是因为没有在MAIN.JS中开启DEBUG MODE!!我们在MAIN.JS中开启就OK啦。解决办法:main.jsVue.config.devtools = true重新启动项目,就可以成功调试啦!
2021-08-08 16:41:12 2563 1
转载 Spring JPA 行级锁的实现
https://blog.csdn.net/zmx729618/article/details/79570633.
2021-08-07 18:06:24 265
转载 Mysql InnoDB引擎的行锁和表锁
https://blog.csdn.net/luzhensmart/article/details/81675527.
2021-08-07 18:00:32 59
转载 MySQL——事务(Transaction)详解
链接: https://blog.csdn.net/cx243698/article/details/80238630.
2021-08-07 17:29:13 79
原创 sql 查询一张表的数据更新到另一张表 --示例
UPDATE platform_alaeat.ae_member a,(SELECT buyer_id AS buyer_id,channel_id AS channel_idFROM platform_alaeat.ae_orderWHERE channel_id IS NOT NULLAND buyer_id IS NOT NULLAND first_order = 1) bSET a.sign_up_channel_id = b.channel_id WHERE a.id = b.bu
2021-08-03 21:46:32 359
原创 SpringBoot整合Redis
在SpringBoot中一般使用RedisTemplate提供的方法来操作Redis。那么使用SpringBoot整合Redis需要那些步骤呢。1.JedisPoolConfig(这个是配置连接池)2.RedisConnectionFactory(这个是配置连接信息,这里的RedisConnectionFactory是一个接口,我们需要使用它的实现类,在SpringD Data Redis方案中提供了一下四种工厂模型)JredisConnectionFactoryJedisConnectionF
2021-08-01 14:18:37 206 1
原创 vue-echarts-wordcloud词云
一,注意事项在vue中引入echarts-wordcloud依赖,发觉无法正常显示,后经过查找相关资料,发觉是版本问题,echarts-wordcloud 2 对应的是echarts5, echarts-wordcloud 1对应的是echarts 4二, 步骤1 安装 npmnpm install echartsnpm install echarts-wordcloud2 导入 import * as echarts from 'echarts' import 'echarts-wo
2021-07-31 22:52:37 925
原创 Java Map按值排序
Java 8利用Streampublic class SortTest { public static void main(String[] args) throws Exception { // 创建一个字符串为Key,数字为值的map Map<String, Integer> budget = new HashMap<>(); budget.put("clothes", 120); budget.p
2021-07-31 22:35:13 492
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人