注解
lombok构造方法
lombok构造方法 Lombok(简写:lombok)是使用反射技术的Java库,可以简化Java代码的编写,减少繁琐的getter/setter、toString、equals、hashCode等方法的实现,从而达到减少编码工作量和提高编码效率的目的。 ## 二、构造方法 构造方法是由Lombok引入的,基于@Req...
java 构造函数注解
java 构造函数注解1. 什么是构造函数注解构造函数注解是Java语言提供的一种元数据机制,用于标注构造方法(Constructor)的。2. 为何需要构造函数注解构造函数注解能够为类的构造函数增加一些特殊的属性或注释,例如@Deprecated注解表示该构造函数已经过时,@AllArgsConstructor注解表示构造函数包含所有类字段的参数,这些注解可以提供更多的信息,且可以通过代码检查工...
java反射 开发注解
java反射 开发注解Java反射是一种强大的特性,它允许程序在运行时获取并操作它自己的类以及其他类的属性、方法和构造函数等信息。反射机制在开发中扮演着重要的角,可以用来实现一些高级功能,如动态代理、依赖注入和框架开发等。而注解是一种元数据,可以在源代码中加入一些额外的信息,用来描述代码的特性和行为,它可以被反射机制读取和处理。本文将详细介绍Java反射以及如何开发和使用注解。第一部分:Java...
java注解的详细使用(APT、插桩、反射)
java注解的详细使⽤(APT、插桩、反射)注解的详细使⽤⼀、APT,编译时注解处理器1、概述:什么是apt:APT,就是Annotation Processing Tool的简称,就是可以在代码编译期间对注解进⾏处理,并且⽣成Java⽂件,减少⼿动的代码输⼊。注解我们平时⽤到的⽐较多的可能会是运⾏时注解,⽐如⼤名⿍⿍的retrofit就是⽤运⾏时注解,通过动态代理来⽣成⽹络请求。编译时注解平时开...
Springboot自定义注解实现操作日志管理
Springboot⾃定义注解实现操作⽇志管理操作⽇志的记录为什么要有⽇志?因为我们不光要记录代码的运⾏,如(logback log4j),⽽且还应该记录⽤户的⾏为,这叫做业务运⾏⽇志例如:记录 zhangsan 在项⽬中 调⽤了哪个⽅法, 什么时间调⽤的 。访问的ip地址, 访问了哪些数据,做了什么操作,以此当程序出现问题的时候更利于我们进⾏错误的排查!业务运⾏⽇志的作⽤1. 记录⽤户的⾏为 ⽤...
SpringBootAOP自定义注解异步监听方式实现日志记录(附源码)
SpringBootAOP⾃定义注解异步监听⽅式实现⽇志记录(附源码)⼀. 功能简介本⽂主要记录如何使⽤ 注解+aop切⾯+异步监听 的⽅式来实现⽇志记录功能。主要记录的信息有: 操作⼈,操作IP,⽅法名,参数,消耗时间,⽇志类型,操作类型(操作⽇志和异常⽇志)以及增删改查记录,操作时间等。主要流程:AOP切⾯得到请求数据 -> 发布监听事件 -> 异步监听⽇志⼊库⼆. 项⽬结构三....
SpringCache缓存框架
SpringCache缓存框架 Spring Cache就是⼀个这个框架。它利⽤了AOP,实现了基于注解的缓存功能,Spring Cache也提供了很多默认的配置,业务代码不⽤关⼼底层是使⽤了什么缓存框架,只需要简单地加⼀个注解,就能实现缓存功能,⽽且SpringBoot项⽬默认集成了Spring Cache。Spring Cache有⼏个常⽤注解,分别为@Cacheable、@Cac...
spring中的@EnableAsync注解@Async注解实现异步执行任务
spring中的@EnableAsync注解@Async注解实现异步执⾏任务spring中的@EnableAsync注解@Async注解实现异步执⾏任务在平时使⽤多线程的时候⼤多是通过这⼏种⽅式:1. 实现Thread接⼝2. 继承Runable类3. 使⽤线程池但是在spring中提供了别的⽅式实现多线程功能,避免了⼤量冗余代码,就是使⽤@EnableAsync注解就可以了,将@EnableAs...
springboot实现幂等性
springboot实现幂等性spring boot 实现幂等性背景在分布式服务中,业务在⾼并发的情况下会消费者出现多次请求的情况.这个时候如果执⾏插⼊的业务操作,则数据库中出现多条数据.造成脏数据的产⽣.⽽且也是对资源的浪费.此时我们需要做的就是阻⽌多页业务的处理操作.执⾏⽅案实现接⼝的幂等性,让请求只成功⼀次.这⾥需要保存⼀个唯⼀标⽰,在下⼀个请求执⾏时获取标⽰如果重复提交则阻⽌执⾏.代码实现...
springboot框架介绍(自动配置)
springboot框架介绍(⾃动配置)springboot框架介绍Spring简介在了解Springboot前, 我们先简单了解下Spring.Spring是⼀个开源框架,Spring是于2003 年兴起的⼀个轻量级的Java 开发框架。它是为了解决企业应⽤开发的复杂性⽽创建的。框架的主要优势之⼀就是其分层架构. Spring的⽤途不仅限于服务器端的开发。从简单性、可测试性和松耦合的⾓度⽽⾔,任...
SpringBoot整合Redis的步骤
SpringBoot整合Redis的步骤1.添加配置⽂件:Redis.properties# 配置单台redis服务器redis.host=192.168.126.129 ip地址redis.port=6379 端⼝号设置配置类:RedisConfig2.将对象转化为Json格式⼊门案例API: MAPPER.writeValueAsString(itemDesc);3.将对象转化为Json格式格...
springboot+aop自定义日志--收集操作日志
springboot+aop⾃定义⽇志--收集操作⽇志背景:spring boot + aop,⾃定义注解收集controller层⽇志;1. ⾃定义注解1.1 ⾃定义注解 l<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-depende...
SpringBoot多数据源配置插件
SpringBoot多数据源配置插件dynamic-datasource-spring-b。。。⼀、约定1. 本框架只做 切换数据源 这件核⼼的事情,并不限制你的具体操作,切换了数据源可以做任何CRUD。2. 配置⽂件所有以下划线 _ 分割的数据源 ⾸部 即为组的名称,相同组名称的数据源会放在⼀个组下。3. 切换数据源可以是组名,也可以是具体数据源名称。组名则切换时采⽤负载均衡算法切换。4. 默认...
浅谈springfox-swagger原理解析与使用过程中遇到的坑
浅谈springfox-swagger原理解析与使⽤过程中遇到的坑swagger简介swagger确实是个好东西,可以跟据业务代码⾃动⽣成相关的api接⼝⽂档,尤其⽤于restful风格中的项⽬,开发⼈员⼏乎可以不⽤专门去维护rest api,这个框架可以⾃动为你的业务代码⽣成restfut风格的api,⽽且还提供相应的测试界⾯,⾃动显⽰json格式的响应。⼤⼤⽅便了后台开发⼈员与前端的沟通与联调...
异步任务@Async使用和失效原因
异步任务@Async使⽤和失效原因因业务需要,经常会遇到主线程中包含其他关联业务,然关联业务的执⾏结果对主线程的返回结果没有直接影响或⽆影响。此时,能让主线程更顺畅的执⾏,并给客户带来好的客户体验,我们⼀般会将该关联业务做异步处理或类似的处理(如:消息队列)。然后Spring为我们提供了开启异步任务的⽅法。⼀、Springboot 使⽤异步任务1、SpringBootApplication启动类添...
Java@Valid注解详解校验实体属性(JavaBeanValidation)
Java@Valid注解详解校验实体属性(JavaBeanValidation)Spring @Valid 注解校验实体属性1 @Valid 介绍1.1 前⾔在我们⽇常开发中,数据校验的实现是⼀件⽐较痛苦的事情,繁琐且⽆趣,对于⼀般的业务⽽⾔,极少出现⼀些过于复杂的校验,常常都是⾮空,长度,最⼤最⼩值,正则,数据关联,定值等等。我在开发过程中为了减少我写这些代码的coding成本,由此认识了spr...
SpringcloudHystrix使用@HystrixCommand使用Hystrix组。。。
SpringcloudHystrix使⽤@HystrixCommand使⽤Hystrix组。。。通过@HystrixCommand注解实现在Spring Cloud使⽤Hystrix组件相关的⼯程cloud-registration-center:注册中⼼cloud-service-hystrix: 作为服务⽅的⼯程cloud-consumer-hystrix:通过hystrix调⽤cloud-s...
从ActiveMQ异步消息异步调用的区别到线程池的总结
从ActiveMQ异步消息异步调⽤的区别到线程池的总结ActiveMQ的异步消息MQ的异步消息指的不是必须每⽣产⼀次就消费⼀次。⽣产⽅只要放到消息通道⾥。消费⽅不断地去监听就可以了。异步消息可以使⽤JMS来编码操作。JMS本⾝就是异步的。直接标注上代码即可。1. ⾸先引⼊maven依赖:<dependency><groupId>org.springframework.boo...
数据服务_SpringBoot读取Hbase数据
数据服务_SpringBoot读取Hbase数据SpringBoot启动流程主要分为三个部分,第⼀部分进⾏SpringApplication的初始化模块,配置⼀些基本的环境变量、资源、构造器、,第⼆部分实现了应⽤具体的启动⽅案,包括启动流程的监听模块、加载配置环境模块、及核⼼的创建上下⽂环境模块,第三部分是⾃动化配置模块,该模块作为springboot⾃动配置核⼼主要创建了配置环境(envi...
spring-boot+dynamic-datasource实现真正的动态数据源
spring-boot+dynamic-datasource实现真正的动态数据源⼀、前⾔ 现在有这样⼀个连接表。数据库连接信息是从连接表中获取,想对连接表中的所有数据源进⾏维护只有⽤动态数据库。在⽹上了很多动态数据库教程。都是⽤@Ds注解选择需要的数据源,意思是在编写代码时就要确定数据源,并不能实现需求。想要对对应的连接进⾏管理,只有通过连接id能创建⼀个数据源,并使其⽣效,下⾯进⼊...
基于SpringBoot、AOP与自定义注解转义字典值
基于SpringBoot、AOP与⾃定义注解转义字典值 ⼀直以来,前端展⽰字典⼀般以中⽂展⽰为主,若在表中存字典值中⽂,当字典表更改字典值对应的中⽂,会造成数据不⼀致,为此设置冗余字段并⾮最优⽅案,若由前端⾃⼰写死转义,不够灵活,若在业务代码转义,臃肿也不够通⽤,从⽹络上了解到注解、AOP是⼀种不错的解决⽅案,主要有两种⽅式: 1、通过注解获取结果集转为JSON字符串,通过...
java调用接口失败重调_springboot下接口调用失败重试方案
java调⽤接⼝失败重调_springboot下接⼝调⽤失败重试⽅案背景:在项⽬开发中,有时候会出现接⼝调⽤失败,本⾝调⽤⼜是异步的,如果是因为⼀些⽹络问题请求超时,总想可以重试⼏次把任务处理掉。⼀些RPC框架,⽐如dubbo都是有重试机制的,但是并不是每⼀个项⽬多会使⽤dubbo框架,常规的⼩项⽬有时候直接使⽤http进⾏不同项⽬之间的交互。个⼈想法:使⽤spring aop和⾃定义注解来,建⽴...
最全153道Spring全家桶面试题,你都碰到过哪些?(含答案解析)
最全153道Spring全家桶⾯试题,你都碰到过哪些?(含答案解析)前⾔Spring 框架⾃诞⽣以来⼀直备受开发者青睐,有⼈亲切的称之为:Spring 全家桶。⽏庸置疑,Spring 早已成为 Java 后端开发的⾏业标准,⽆数的公司选择 Spring 作为基础的开发框架,⼤部分Java 后端程序员在⽇常⼯作中也会接触到 Spring。很多研发⼈员把 Spring 看作⼼⽬中最好的 Java 项⽬...
50个高频Spring面试题,助你一臂之力
50个⾼频Spring⾯试题,助你⼀臂之⼒1、 Spring是什么?2、Spring框架的好处?3、Spring有哪些模块?4、解释Core Container(Application context)模块5、BeanFactory实现实例6、XMLBeanFactory7、解释AOP模块8、解释JDBC抽象和DAO模块9、解释对象/关系映射集成模块10、解释Spring web模块11、解释Sp...
Mybatis使用自定义注解动态配置多数据源
Mybatis使⽤⾃定义注解动态配置多数据源需求说明⽬前在项⽬中有多个数据源,需要多个配置。有好⼏种办法来配置,⽐如:jdbcTemplate@DS⾃定义注解下⾯说明⽤⾃定义注解来添加切换多个数据源。pom的依赖<dependency><groupId>com.alibaba</groupId><artifactId>druid-spring-boo...
jsonformat注解_@jsonformat解析作用springbootmybatis。。。
jsonformat注解_@jsonformat解析作⽤springbootmybatis。。。参考: @JsonFormat 实现原理Jackson注解@JsonFormat之Shape属性_⼀路有你不孤单的博客-CSDN博客快速开始 | MyBatis-Pluspostman 发送json请求sql:CREATEspringboot配置:spring.datasource.url=jdbc:m...
springboot开发技术(习题卷1)
springboot开发技术(习题卷1)说明:答案和解析在试卷最后第1部分:单项选择题,共89题,每题只有一个正确答案,多选或少选均不得分。1.[单选题]下列关于Spring Boot自动配置原理的说法,错误的是( )A)@SpringBootApplication 只包含@SpringBooConfiguration、@EnableAutoConfiguration、@ComponentScan...
SpringBoot2.x实战仿B站高性能后端项目MK
SpringBoot2.x实战仿B站⾼性能后端项⽬MK提取码:45on⼀、什么是SpringBoot?SpringBoot是⼀个快速开发框架,快速的将⼀些常⽤的第三⽅依赖整合(原理:通过Maven⼦⽗⼯程的⽅式),简化XML配置,全部采⽤注解形式,内置Http服务器(Jetty和Tomcat),最终以java应⽤程序进⾏执⾏。⼆、SpringBoot核⼼原理1> 基于SpringMVC⽆配置...
SpringBootShiro权限注解不起作用的解决方法
SpringBootShiro权限注解不起作⽤的解决⽅法⽬录问题如下:解决⽅法如下:最近在学习springboot结合shiro做权限管理时碰到⼀个问题。问题如下:我在userRealm中的doGetAuthorizationInfo⽅法中给⽤户添加了权限,然后在Controller中写了下⾯的代码。其中URL为/listArticle的⽅法必须要有article:over权限才能通过。我在doG...
springboot中在方法上使用@Cacheable注解实现redis缓存
springboot中在⽅法上使⽤@Cacheable注解实现redis缓存简介平时⼤家使⽤redis⼀般都是直接存储key,value.spring全家桶肯定帮⼤家想到了这⼀点.可以让⼤家⽅便的使⽤注解操作redis节省代码量.把总结放前⾯:总共有三种⽅式,底层利⽤了spring的aop,并且⽅法返回的对象⼀定要实现序列化@Cacheable:注解于⽅法上,第⼀次会把后⾯的cacheNames+...