![](https://img-blog.csdnimg.cn/20201014180756780.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java
文章平均质量分 51
秋洛颍
这个作者很懒,什么都没留下…
展开
-
spring揭秘总结(一)——spring的Ioc容器
spring揭秘这本权威书籍阅读后的总结分享,希望能帮助到你原创 2022-07-26 10:02:19 · 1378 阅读 · 2 评论 -
No URLs will be polled as dynamic configuration sources
好久之前的一个问题,一直没有总结,发现网上有很多类似的问题,大概解决思路也很全面,推荐博客:No URLs will be polled as dynamic configuration sources原创 2021-03-25 10:16:43 · 770 阅读 · 0 评论 -
jpa多数据源启动报错More than one table found in namespace...
在jpa多数据源配置后,启动时,突然报了这个莫名其妙的异常信息(过去很多天了,异常信息当时没有及时记录),大概意思是,在进行数据库链接时发现有多余一个的同名的表存在,但是我的数据库明明只有一个这个名称的表,于是就点了点其他数据库,发现是有同名表存在的,那么为什么项目启动会扫描多个数据库,而不是一个写好地址的数据库呢?网上有说是mysql驱动的版本问题,我的项目中使用的是 <dependency> <groupId>mysql</groupId>原创 2021-03-24 16:48:47 · 688 阅读 · 1 评论 -
工具类:判断实体对象中的全部属性是否都有值
日常开发中,我们经常会遇到这样的场景,前端传来一个实体,我们需要将这个实体中的全部信息入库保存。但是因为数据库中的字段规定不能为空,所以在入库之前我们必须保证实体中的所有属性有值。在业务中直接一个一个判断的话,就显得代码繁琐累赘了,所以我们可以封装一个工具类,专门用来进行实体中属性是否为空判断(或者判断有些属性是否使用了默认值比如integer)。代码如下:public class CheckObjectIsNullUtils { /** * 判断对象属性是否全部有值(st原创 2020-12-16 19:36:16 · 3452 阅读 · 1 评论 -
Long类型数据返回给前端丢失精度问题解决
前几天做项目,遇到了一个小坑。一个插入数据的操作,在后端应用雪花算法生成了数据的id,插入到库中。id为long类型19位,但是当再次回显给前端时,id值变了。前几位都是一样的,只是在后几位中都变成了零。(由于时间太久,没有保留截图)在网上差了一下原因和解决办法,在此记录一下,希望对大家有帮助。我们前后端数据传输,会将返回的数据序列化为json字符串,返回给前端,前端应用js进行数据解析,但是19位的字符串id数据转换成long类型时,由于位数太长丢失了精度,会将后几位用零代替,所以前端显示的就是丢.原创 2020-12-10 20:09:44 · 4711 阅读 · 2 评论 -
java中通过RSS地址获取csdn前20条博客链接
一、导入依赖<!-- RSS start --> <dependency> <groupId>com.rometools</groupId> <artifactId>rome</artifactId> <version>1.8.0</version> </dependency>原创 2020-09-16 19:20:43 · 224 阅读 · 0 评论 -
服务注册中心——Consul
fsdg原创 2020-08-25 12:13:11 · 198 阅读 · 0 评论 -
redis工具类 封装各种常用命令
redis工具类代码@Componentpublic final class RedisUtil<V> { @Autowired private RedisTemplate<String, String> redisTemplate; // =============================common============================ /** * 指定缓存失效时间 * * @par原创 2020-08-07 11:44:55 · 417 阅读 · 0 评论 -
Date与LocalDate类型的相互转化
01. java.util.Date --> java.time.LocalDateTimepublic void UDateToLocalDateTime() { java.util.Date date = new java.util.Date(); Instant instant = date.toInstant(); ZoneId zone = ZoneId.systemDefault(); LocalDateTime local原创 2020-06-16 12:58:27 · 1941 阅读 · 0 评论 -
关于FastDFS
前言在说FastDFS之前我们先来了解一下什么是DFS。DFS是分布式文件系统(Distributed file system, DFS)的简称,它是一种允许文件透过网络在多台主机上分享的文件系统,可以让多机器上的多用户分享文件和存储空间。这样一来,我们对文件系统管理的物理存储资源不一定直接连在本地节点上,而是通过计算机网络与其他节点(可以理解为计算机)相连。通俗来讲:传统文件系统管理的文件就存储在本机。分布式文件系统管理的文件存储在很多机器,这些机器通过网络连接,要被统一管理。无论是上传或者访原创 2020-06-12 11:16:15 · 269 阅读 · 0 评论 -
服务注册中心——zookeeper实例
前提1、已经安装好zookeeper服务并能启动成功为安装的伙伴可以参考这篇博客:CentOS7中安装zookeeper简介zookeeper是一个分布式协调工具,可以实现注册中心的功能(当然他的功能不限于这一个),本篇博客从SpringCloud项目的简单实例引入zookeeper注册中心的功能。zookeeper服务测试首先要保证我们安装的zookeeper能够正常启动:关闭防火墙:进入zookeeper:查看当前zookeeper中是否有服务注册:目前只有一个zookee原创 2020-06-11 18:14:09 · 579 阅读 · 0 评论 -
SpringCloud工程热部署
一、工程中引入依赖在每个需要进行热部署的微服务中引入依赖<!--热部署--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <scope>runtime</scope&g原创 2020-06-11 09:22:38 · 923 阅读 · 1 评论 -
服务网关——Zuul
是什么说Zuul之前,我们先来说一下之前我们做过的项目架构,我们之前使用Eureka实现服务注册中心以及服务注册与发现功能,而服务间通过Ribbon或OpenFeign实现服务的消费以及均衡负载。为了使得服务集群更为健壮,使用Hystrix的融断机制来避免在微服务架构中个别服务出现异常时引起的故障蔓延。在这样的架构中,我们的服务集群虽然注册到了Eureka中,但是确实一个对外的服务,通过负载均衡公开至服务的调用方。这样直接暴露我们的服务地址存在很大的不足:破坏了服务无状态特点。为了保证对外服务原创 2020-06-03 10:15:09 · 205 阅读 · 0 评论 -
服务调用——OpenFeign
之前有一篇文章讲解了Ribbon的负载均衡功能,服务调用——Ribbon,当时的消费者服务调用代码如下:分析上面的结构,我们能发现什么问题?1.通过RestTemplate,我们需要访问一个url地址。2、需要手动拼接路径和参数。3、对于多个方法,代码将会大量重复,并不优雅。那么有没有一种更优雅的方式,来解决服务调用问题呢?OpenFeign出现了。是什么Fegin本意是“伪装”,可以把Rest的请求进行隐藏,伪装成类似SpringMVC的Controller一样。你不用再自己拼接url,原创 2020-06-03 08:17:30 · 257 阅读 · 0 评论 -
服务降级——Hystrix
是什么Hystix是Netflix开源的一个延迟和容错库,用于隔离访问远程服务、第三方库,防止出现级联失败。这么说,可能大家还是不明白,那Hystrix到底是什么呢?我们来模拟一个场景,在微服务的大环境下,一个请求可能调用多个后端服务,而某一个后端服务也可能需要调用其他的服务,如果此时,其中一个服务宕机或出现异常,导致服务无法返回结果,那么调用这个服务的其他服务将进行等待状态,如果此时又来了多个同样的请求,那么这些请求也将处于等待阻塞的状态,由于服务器支持的线程和并发的数量有限,请求一直阻塞将导致服务原创 2020-06-02 16:43:45 · 242 阅读 · 0 评论 -
服务调用——Ribbon
什么是Ribbon在微服务项目中,一个后端服务我们一般会配置一个集群在不同服务器中进行启动,用来保证即使一个服务器宕机其他服务器也能进行服务提供。我们获取的服务列表中就会有多个,那么到底该访问哪一个呢?一般这种情况下我们就需要编写负载均衡算法,在多个实例列表中进行选择。Ribbon是netflix发布的负载均衡器,有助于控制HTTP和TCP客户端的行为,为Ribbon配置服务提供者列表后,Ribbon就可基于某种负载均衡算法,自动的帮助服务消费者去请求。Ribbon默认为我们提供了很多的负载均衡算法(轮原创 2020-06-02 09:57:51 · 518 阅读 · 0 评论 -
服务注册中心——Eureka
服务注册中心随着微服务的崛起,市面上出现了各种各样的服务注册中心,优秀的服务框架往往会支持多种配置中心,但是注册中心的选择依然与服务框架强关联。ZooKeeper是一款经典的服务注册中心产品(虽然它最初的定位并不在于此),在很长一段时间里,它是国人在提起RPC服务注册中心时心里想到的唯一选择,这很大程度上与Dubbo在中国的普及程度有关。Consul和Eureka都出现于2014年,Consul在设计上把很多分布式服务治理上要用到的功能都包含在内,可以支持服务注册、健康检查、配置管理、Service M原创 2020-06-01 15:45:59 · 247 阅读 · 0 评论 -
SSM框架整合后相关配置文件内容
思路SpringMVC+Spring+Mybatis三大框架整合采用xml+注解的方式进行配置,始终采取spring整合其他两个框架的思路1、先搭建整合的环境。使用web工程,和tomcat环境(层次分明)2、进行spring框架环境配置3、进行springMVC框架环境配置3、进行spring与springMVC框架的整合4、进行Mybatis框架环境配置5、进行spring与M...原创 2020-05-05 15:48:46 · 282 阅读 · 0 评论 -
【springboot】入口类注解解析+自动配置原理
我们在写一个springboot项目时,只需要一个 入口类(启动类)就能够将整个需要注入到spring容器中的类注入,并将整个项目启动。那么这个入口类的执行原理到底是怎么样的呢?一、入口类注解解析一般入口类中内容如下,如此简洁,是怎么做到将整个项目启动并向容器中注入相关内容的?其中@SpringBootApplication发挥了很大的功能。/** * @SpringBootAppli...原创 2020-05-05 15:34:18 · 1916 阅读 · 1 评论 -
元注解?
就是标识这个类是一个注解类的注解,它分为以下几种:@Target 注解指明了修饰的这个注解的使用范围,即被描述的注解可以用在哪里。ElementType 属性的取值:TYPE:类,接口或者枚举;FIELD:域,包含枚举常量;METHOD:方法;PARAMETER:参数;CONSTRUCTOR:构造方法;LOCAL_VARIABLE:局部变量;ANNOTATION_TYPE:注...原创 2020-05-05 14:39:08 · 133 阅读 · 0 评论 -
【springMVC】文件上传的三种方式
前言:本篇文章中的demo是springmvc框架下执行的,对于springmvc框架搭建有不清楚的伙伴可参考博文springMVC项目框架搭建详解以下例子中,上传的图片存放地址在tomcat服务器中,相对路径为:webapps/项目名称/uploads/说明1、文件上传的必要前提form 表单的 enctype 取值必须是:multipart/form-data(默认值是:app...原创 2020-04-05 20:12:40 · 349 阅读 · 0 评论 -
Java8新特性
一、Lambda表达式1、语法例:比较俩个数Comparator<Integer> com=(x,y)—>Integer.compare(x,y);TreeSet<Integer> ts=new TreeSet<>(com);lambda操作符 ”—>"左侧:lambda表达式的参数列表右侧:表达式中所需执行的功能;语法:语法格式...原创 2020-02-02 20:45:44 · 176 阅读 · 1 评论 -
springBoot项目中配置xxl-job步骤详解
后端配置1、引入jar包在pom.xml文件中引入需要使用的xxl-job版本jar包,代码如下:<dependency> <groupId>com.github.tobato</groupId> <artifactId>fastdfs-client</artifactId> <version>1...原创 2020-01-21 14:27:30 · 10003 阅读 · 5 评论 -
Jenkins部署gitLab上的java(maven)项目
待续。。。原创 2020-01-19 21:26:06 · 887 阅读 · 0 评论 -
【java】mysql中一个树形表在java代码中如何转换为树形结构(递归)
一、说明:做项目时,遇到这样一个业务,需要将某个数据库表中的基本数据转化为树形结构返回给前端(基础数据中分为三级:主线、一级、二级),这些数据在存储时分别存储了父级数据的id,并且每一级又分两个主线。我的做法是按照需求将数据查出,然后在后端利用递归进行树形结构转换。数据库表结构:前端返回数据public class ProjectLineModel { /** * ...原创 2020-01-12 20:41:45 · 1297 阅读 · 2 评论 -
springBoot普通类中无法通过@Autowrite或@Recourse注入service和dao等bean等解决办法
这个问题卡了好久,查找了网上很多参考文章,还是这一篇最有效,直接自己写一个工具类,来实现自动注入:package com.mikey.design.utils;import org.springframework.beans.BeansException;import org.springframework.beans.factory.NoSuchBeanDefinitionExcepti...原创 2020-01-05 09:22:48 · 1910 阅读 · 1 评论 -
【SpringBoot】文件上传
应用MultipartFile判断文件是否为空:file.isEmpty();判断图片大小:file.getSize();获取文件名:fileName=file.getOriginalFilename();获取文件的后缀名:suffixName=fileName.substring(fileName.lastIndexOf("."));更新文件名称:fileName=UUID.rando...原创 2019-12-22 19:59:53 · 192 阅读 · 3 评论 -
java类读取配置文件方法解析
工具:ideajdk:1.8缘由:一下午在实现一个计算器的小栗子,最终目的是将一切常量封装,对应算法抽离,实现高内聚低耦合效果。例子中用到了策略模式、简单工厂加反射,并且将运算符号常量一键值对的形式放在了配置文件中,分别对应不同的算法类名称。那么在工厂中怎样读取到配置文件中对应的常量呢?下面将提供三个方法:一、基于InputStream读取配置文件信息 public static...原创 2019-12-16 08:03:17 · 497 阅读 · 2 评论 -
【java】SpringBoot中常用注解
@SpringBootApplication此注解内部集成了@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan三个注解@RestController@RestController=@Controller+@ResponseBody@RequestMapping功能描述:请求路径映射。将请求URL映射到整个类上或...原创 2019-12-08 15:55:25 · 190 阅读 · 3 评论 -
SpringBoot项目框架搭建及环境配置
创建Maven工程添加SpringBoot的起步依赖编写SpringBoot引导类编写ControllerSpringBoot工程热部署原创 2019-11-27 08:39:07 · 932 阅读 · 8 评论 -
springMVC中的常用注解
@RequestMapping作用:用于建立请求URL和处理请求方法之间的对应关系。可以放在方法上也可以放在类上,可以分模块去开发属性:value——与path的属性一样,指映射的路径。path——与value的属性一样method——决定方法的请求方式params——指定限制请求参数条件headers——用于指明发送的请求中必须包含的请求头 @RequestMapping(pa...原创 2019-11-26 10:46:15 · 230 阅读 · 12 评论 -
springMVC项目框架搭建详解+入门程序案例
一、新建maven项目打开idea,选择file——new——project,选择maven项目,选择自己电脑上配置的jdk版本,勾选使用已有框架。下一步填写公司域名(或组织名称)和项目名称下一步 选择自己电脑上没配置好的maven目录为了解决maven项目配置过程中下载相关配置过慢问题,我们可以在下方添加一组键值对name:archetypeCatalogvalue:inte...原创 2019-11-21 20:31:54 · 264 阅读 · 9 评论 -
项目后端配置过程(maven+Tomcat)
序:本篇文章针对初学java人员,讲解对项目后端进行相关环境配置的过程(包括maven和Tomcat的配置)为了方便记忆,减少重新配置时查阅的麻烦,将从jdk下载安装步骤开始说起,讲解新加已有工程项目的配置过程。一、java开发工具的安装JDK(java Development Kit)是整个java的核心,包括了java的运行环境JRE(java Runtime Envirnment),...原创 2019-11-17 20:25:30 · 649 阅读 · 6 评论 -
【Spring Boot】@RequestMapping与@GetMapping和@PostMapping等新注释
自动配置好像是魔术。其实,它就是将检查类路径classpath中的依赖关系,并且在某些情况下它会配置某些东西,比如当它检测到数据库驱动程序时,就会配置数据库。Spring Boot在启动时,它会扫描类路径,查找 位于META-INF目录中名为spring.factories的所有文件,并对其进行处理。通常,这些文件包含键org.springframework.boot.autoconfigure...原创 2019-06-09 21:46:10 · 1253 阅读 · 7 评论 -
Java中异常(Exception)的用法
java中异常的用法原创 2019-10-27 22:13:37 · 826 阅读 · 4 评论 -
JAVA中如何获取当前时间
方法一: Date date = new Date(System.currentTimeMillis()); String year = String.format("%tY", date); String month = String.format("%tT" + "", date); String day = String.format("...原创 2019-10-06 21:40:09 · 128 阅读 · 5 评论