
SpringBoot
文章平均质量分 59
一颗知足的心
这个作者很懒,什么都没留下…
展开
-
Java线上监控诊断产品Arthas
Arthas 是一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。原创 2023-04-14 15:22:55 · 1174 阅读 · 0 评论 -
浅谈java 的位运算符号<< ,>> ,<<<,>>>
java的位运算符,如果喜欢研究一些源码的朋友,相信都经常见到,我就拿HashMap做一个简单的代码举例: /** * The default initial capacity - MUST be a power of two. */ static final int DEFAULT_INITIAL_CAPACITY = 1 << 4; // aka 16 /** * The maximum capacity, used if a hig原创 2022-03-06 23:39:30 · 517 阅读 · 0 评论 -
浅谈JPA
上周跳槽到了一家新公司,数据持久化层用的不是mybatis,而是用的JPA,由于以前都没有用过,所以周末学习了一下,并且做一下记录,方便以后查看。先说说jpa是什么?我们来看看官方回答:其实说白了,你可以把它当做hibernate、mybatis的同类。学习了之后,我更觉得这是mybatis-plus的前身,提供了很多写好的crud的接口,后面总结的时候我再做一下对比。先看看主要代码,文末会附上完整项目链接,欢迎大家下载。1.pom.xml文件 <dependencies>原创 2022-03-06 17:57:02 · 493 阅读 · 3 评论 -
SpringBoot实现读写分离续集(原理和问题的处理篇)
上周本打工人写了一篇SpringBoot实现读写分离和事务处理的文字,为了赶项目的功能和进度,颇有点囫囵吞枣的意思,只是实现了,但是没有机会和时间坐下来喝杯咖啡好好的研究一下其中的问题,所以才有了这篇续集。什么是读写分离?读写分离为了产品的高扩展、高稳定性,而实现的一种的一种数据库架构,一般我们在主库master写数据,在从库slave读数据。常用的是一主多从。读写分离的原理及主从复制Mysql 中主从复制时有两个很重要的日志文件:binlog(二进制日志文件)relay log(中继日志文件)原创 2021-05-24 12:16:54 · 459 阅读 · 3 评论 -
SpringBoot采用方法名和注解实现数据库的读写分离并且有事务回滚
SpringBoot实现读写分离有两种方式第一种是根据方法名,比如"select、get、query"开头的方法走从库,其余的走主库第二种就是注解式,在方法上加上注解,里面指定走主库还是从库。一、下面我先介绍第一种方式,直接上代码。configure.propertiesspring.datasource.server.url=jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=utf-8&serve原创 2021-05-18 19:49:39 · 1025 阅读 · 8 评论 -
SpringBoot集成RabbitMq并且实现延时队列(二)
SpringBoot集成RabbitMq并且实现延时队列(二)一、插件下载要实现延时队列,我们需要MQ提供的插件:rabbitmq_delayed_message_exchange首先下载该插件:https://www.rabbitmq.com/community-plugins.html要注意这些版本的对应:下载完成之后把插件copy到RabbitMQ的安装目录plugins下,进入到sbin目录下,执行以下代码:rabbitmq-plugins.bat enable rabbitmq_de原创 2021-04-12 17:06:13 · 317 阅读 · 0 评论 -
SpringBoot集成RabbitMq并且实现延时队列(一)
SpringBoot集成RabbitMq并且实现延时队列:环境的安装主要是安装RabbitMq和支持它的Erlang在我写这篇文章的时候,MQ最新版本是3.8.14,Erlang最新版本是23.21.可以通过MQ的官网去下载,官方网站,但是大家都懂的,没有"特殊操作",下载速度很慢,也可以通过我上传的资源下载:下载地址(1)进入官网首页的话,我们可以在右侧选择自己需要的版本(2)也可以直接下载2.因为RabbitMq是采用Erlang实现的,所以我们必须下载运行它的Erlang,不然安装的时原创 2021-04-12 16:32:53 · 200 阅读 · 0 评论 -
Linux部署springBoot项目no main manifest attribute
SpringBoot项目用maven打好jar包,放到linux上执行报错 java -jar xxx.jar报错no main manifest attribute,原因是没有放入build的配置在pom.xml中放入下面这段代码<build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-原创 2021-03-29 10:52:00 · 412 阅读 · 0 评论 -
项目经理问我,你还在用switch/case?面向接口编程,彻底告别switch/case,高逼格
今天撸代码的时候,遇到一个根据type不一样,作很多处理的事情功能,我的第一想法就是if/else,或者switch/case来解决,项目经理看了我的代码,很不屑的问了一句:“你还在用switch/case?”。看着我迷离的眼神,项目经理提笔写下了如下代码。今天要说的是用接口的方式来取代switch/case,扩展性高,可读性高,关键是逼格高,我的观念就是:做人可以没有逼格,写的代码一定是要有逼格的。先简单描述一下功能,一个类有10个type,前端传一个type过来,我们根据type来做不同的处理。原创 2021-03-18 12:04:16 · 491 阅读 · 3 评论 -
SpringBoot AOP 超简单实现超详细讲解
我们都知道Spring的核心IOC和AOP,今天说的就是经常接触的AOP。AOP,面向切面编程,百度一下都知道,但是没啥luan用,啥是切面?啥叫面向切面编程?怎么使用都不知道,那你还说你知道AOP?不过不知道不要紧,看完我的文章就懂了。我会用很简洁的语言来描述这个东西,并且加上简单的代码实现辅助理解。我们首先想象这么一个场景,我做一个网页,Controller里面有10个接口需要用户登录才能请求,怎么实现?1.普通人的做法:就是在10个接口里面分别取到用户信息,然后判断用户是否登录,否则直接返回或原创 2021-02-02 12:11:46 · 6745 阅读 · 0 评论 -
每天一个SpringBoot注解之@Autowired和@Resource
前言:说好的每天一个注解,但是博主是开发游戏的,临近过年了,新年活动杂七杂八的事情一大堆,就耽搁了一阵子时间,现在才有空抽点时间出来继续写文章。今天说的是两个注入bean的注解,在以前的时候我也一直都有疑问,同样是注入,这两者有什么区别和不同,查了一些资料,在此记录一下。1.共同点共同点就不多说了,就是注入bean,常用的就是注入Service和Mapper,今天的重点就是他们用户的差异。2.不同点(1)@Autowired注解是按照类型(byType)装配依赖对象,默认情况下它要求依赖对象必原创 2021-02-01 12:19:50 · 405 阅读 · 0 评论 -
每天一个SpringBoot注解之@ConfigurationProperties
我们知道,每一个springboot项目都会有很多配置,application.yml,bootstrap.xml等。数据库连接地址,redis地址,nacos,dubbo,cloud等,而我们读取这些配置,因为spring的版本进行了几次更新。1.xml配置,通过xml去获取bean2.注解,我们通常使用@Value等注解去获取配置3.java Config,java Config是spring的一个子项目,我们通过java代码和@ConfigurationProperties注解去读取配置。今天原创 2021-01-13 20:04:51 · 377 阅读 · 0 评论 -
每天一个SpringBoot注解之@Component和@ComponentScan
一句话,@Component实现的就是bean的注入,实例化到spring容器里,相当于SSM配置文件中的<bean class = >。打开idea,我们可以看到,常见的诸如@Controller,@Service,@Repository三个注解,里面的申明都加入了@Component注解和@Component注解配套的,就是@ComponentScan,我们光标记了不行,还需要一个东西来扫描我们加上@Component注解的类,我们要让spring知道哪些类,是需要以bean的形式注入到原创 2021-01-13 16:16:16 · 983 阅读 · 3 评论 -
每天一个SpringBoot注解之@Configuration
先按照简单代码示例注解的作用,最后再做一个总结。 从Spring3.0,@Configuration用于定义配置类,可替换xml配置文件,被注解的类内部包含有一个或多个被@Bean注解的方法,这些方法将会被AnnotationConfigApplicationContext或AnnotationConfigWebApplicationContext类进行扫描,并用于构建bean定义,初始化Spring容器。1.先看看最简单的应用,我们创建一个类,加上Configuration注解@Configura原创 2021-01-12 20:25:16 · 458 阅读 · 1 评论 -
每天一个SpringBoot注解之@Qualifier
一句话概括一下,@Qualifier注解的用处:当一个接口有多个实现的时候,为了指名具体调用哪个类的实现。 下面配上简单的代码示例解释://定义一个接口public interface QualifierInterface { void testQualifierMethod();}新建两个实现类,service()注解里面表名是one或者two@Service("one")public class One implements QualifierInterface{ .原创 2021-01-12 18:23:56 · 972 阅读 · 5 评论