- 博客(60)
- 资源 (1)
- 收藏
- 关注
原创 2021-03-15
七大软件设计原则总结开闭原则定义:一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。用抽象构建框架,用实现扩展细节。优点:提高软件系统的可复用性及可维护性。总结:定义不同的接口,用具体的实现类实现不同的接口,提高系统的复用性和维护性。应用场景:当一个值(属性)总发生变化时,会用到。依赖倒置原则定义:高层模块不应该依赖底层模块,二者都应该依赖其抽象。抽象不应该依赖细节;细节应该依赖抽象。针对接口编程,不要针对实现编程。优点:可以减少类间的耦合性、提高系统稳定性,提高代码可读性和可维护性
2021-03-15 23:28:02
317
原创 2021-03-15
抽象工厂模式(Abstract factory pattern)代码示例:public class KJPay implements KJIPay { @Override public void KJPay() { System.out.println("跨境支付"); }}public class WXPay implements IPay { @Override public void pay() { System.out.
2021-03-15 23:24:51
289
原创 java基础-泛型
java基础-泛型java泛型这个特性是从JDK 1.5才开始加入的.为什么会引入泛型1、适用于多种数据类型执行相同的代码(代码复用)private static int add(int a, int b) { System.out.println(a + "+" + b + "=" + (a + b)); return a + b;}private static float add(float a, float b) { System.out.println(a +
2020-10-22 14:31:16
300
原创 Java 各版本的新特性
New highlights in Java SE 8Lambda ExpressionsPipelines and StreamsDate and Time APIDefault MethodsType AnnotationsNashhorn JavaScript EngineConcurrent AccumulatorsParallel operationsPermGen Error RemovedNew highlights in Java SE 7Strings in S
2020-10-21 15:56:03
214
原创 如何阻止Java中的类型未检查的警告?
如果你把泛型和原始类型混合起来使用,例如下列代码,Java 5的javac编译器会产生类型未检查的警告(unchecked warning),例如List<String> rawList = new ArrayList();任何一个未检查的警告在运行时都可能导致抛出ClassCastException,因此应该尽量消除警告信息,如上代码应修改为:List<String> list=new ArrayList<String>();如果确定代码不会触发ClassC
2020-10-21 15:38:16
1159
转载 SpringBoot 跳转页面+thymeleaf
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.youkuaiyun.com/jintingbo/article/details/81633615初次做SpringBoot,要解决页面跳转的问题,这个问题我弄了大半天,弄好后,其实也不算个事,写出来给大家提个醒!其实不要使用spring boot的@RestCont...
2019-10-24 18:26:10
1272
1
原创 xml转json的方法
/* 第一种方法,使用JSON-JAVA提供的方法 */ //将xml转为json JSONObject xmlJSONObj = XML.toJSONObject(xml); //设置缩进 String jsonPrettyPrintString = xmlJSONObj.toString(4);...
2019-10-14 10:28:44
272
2
转载 SourceTreeSetup-2.5.5.exe 跳过注册 Bitbucket
转载地址:https://blog.youkuaiyun.com/power_to_go/article/details/1010590230. 安装 Git下载并执行SourceTreeSetup-3.2.6.exe,会进入以下界面。关闭这个界面。C:\Users\young\AppData\Local\Atlassian\SourceTree 添加accounts.json 文件C:\Us...
2019-10-09 11:15:24
1959
3
原创 String转Date格式显示年月日或其他自定义格式
DateFormat format1 = new SimpleDateFormat("yyyy-MM-dd"); DateFormat format 2= new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒"); Date date1 = null; Date date2 = null; String str ...
2019-09-18 14:46:41
3088
原创 mybatis查询子对象(一对一、一对多、互相嵌套查询等)
Mybatis left join 一对一、一对多、多对多查询<!-- 一对一查询 ,一个订单对应一个用户--><resultMap type="com.Orders" id="OrdersUserResultMap"> <id column="id" property="id"/> <result column="us...
2019-09-17 15:14:16
4916
4
原创 什么是编程中的脚手架
脚手架的背景脚手架这个词在编程领域初次看到是在使用前端框架时。许多团队在制定前端工程方案时会加入脚手架模块。虽然不同的团队对工程化的理解和实施有所差异,但是对于脚手架的定位基本是一致的:创建项目初始文件。这是一条看起来十分简单地准则,但是对于这条准则应该如何理解,如何实施却并不是一件很简单地事情。在探索这条准则的深度之前,我们不妨看看类似的一些成熟方案,比如Eclipse。这个大名鼎鼎的IDE...
2019-09-11 20:59:13
7463
2
原创 设置Mybatis打印调试sql的方式
问题描述在使用mybatis进行开发的时候,由于可以动态拼接sql,这样大大方便了我们。但是也有一定的问题,当我们动态sql拼接的块很多的时候,我们要想从*mapper.xml中直接找出完整的sql就会非常的难,这个时候经常会需要把组合之后的完整sql调试出来比较好。解决方案一、1:首先将ibatis log4j运行级别调到DEBUG可以在控制台打印出ibatis运行的sql语句2:添加...
2019-09-09 14:14:02
606
原创 CollectionUtils判断集合是否为空(待续)
CollectionUtils工具类的常用方法:例1: 判断集合是否为空: CollectionUtils.isEmpty(null): true CollectionUtils.isEmpty(new ArrayList()): true CollectionUtils.isEmpty({a,b}): false例2: 判断集合是否不为空: CollectionUtils...
2019-09-05 15:32:11
30285
7
原创 java中常见的数据类型转换
一、BigDecimal转Stringpublic static void main(String[] args) { // 浮点数的打印 System.out.println(new BigDecimal("10000000000").toString()); // 普通的数字字符串 System.out.println(new...
2019-08-23 11:25:57
164
原创 spring boot配置文件详解 ~(未完待续)
spring boot 入门 使用spring.profiles.active来分区配置很多时候,我们项目在开发环境和生成环境的环境配置是不一样的,例如,数据库配置,在开发的时候,我们一般用测试数据库,而在生产环境的时候,我们是用正式的数据,这时候,我们可以利用profile在不同的环境下配置用不同的配置文件或者不同的配置spring boot允许你通过命名约定按照一定的格式(applicat...
2019-07-16 20:54:39
175
原创 eclipse快捷键大全(我会不断地更新,在实际项目中常用的快捷键和对应的使用场景)
重构变量名的快捷键, 批量修改变量名的快捷键:shift + alt + r
2019-07-16 14:46:40
469
原创 微服务组件——consul
一、什么是consul?consul是一个用来实现分布式系统的服务发现与配置的开元工具。主要由:服务发现:客户端通过Consul提供服务,类似于API、MySQL或者其他客户端可以使用Consul发现服务的提供者。 通过DNS、HTTP等发现他们一依赖的服务。健康检查:Consul客户端可以提供与给定服务相关的健康检查(Web服务器返回200 ok)或者本地节点(“内存利用率低于90%”)...
2019-07-04 16:37:03
971
原创 Tomcat8新特性
java8中有两大重要的改变。一个是Lambda表达式;另一个是Stream API(java.util.stream.*)。lambda写的好可以极大的减少代码冗余,同时可读性也好过冗长的内部类,匿名类。详情参考:https://www.cnblogs.com/coprince/p/8692972.htmlhttps://www.cnblogs.com/aoeiuv/p/5911692.h...
2019-07-03 19:21:03
1145
1
原创 Spring Cloud Eureka学习
一、Eureka简介Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud 将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。Eureka 包括 Eureka Server 和 Eureka Client,Eu...
2019-06-20 11:24:30
143
原创 微服务常用注解详解
在介绍微服务注解前,我们先来回顾一下java的元注解:1、元注解:注解的注解在java1.6中,有四个元注解:@Target、@Retention、@Documented、@Inherited。在java1.8上,又多了@Native、@Repeatable。(1)、@Documented: @Documented用于描述其它类型的annotation应该被作为被标注的程序成员的公共AP...
2019-06-20 09:54:30
1227
1
原创 腾讯TSF搭建心得
一、服务注册发现TSF 服务注册发现包括三个角色,服务提供者,服务调用者和服务注册中心。tsf-simple-demo的工程目录如下: |- consumer-demo |- provider-demo |- pom.xml其中 consumer-demo 表示服务消费者, provider-demo 表示服务提供者。什么是快照(snapshot)?0.0.1-SNAPSHOT...
2019-06-17 13:49:30
5945
原创 解决Version XXXX of the JVM is not suitable;配置maven仓库
一、eclipse指定jdk1.8版本启动,解决Version XXXX of the JVM is not suitable 当我们安装有关STS插件时,会遇到有关jdk版本的问题导致不能执行EXE文件,这时我们只要在**.ini**文件中指定我们的jdk版本即可。STS3报错提示:STS4报错提示:解决方式:配置STS文件夹下的STS3:STS.ini文件或STS4:Spr...
2019-06-14 09:45:18
2178
原创 虚拟机与客户机时间不一致(时间同步)附:常见的重启和关闭的命令
一、首先在虚拟机设置里面找到,点击选项的VMWare Tools 选中 将客户机时间与主机同步,开启时间同步。二、输入如下命令sudo cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime三、重启shutdown -r now或reboot普及一下常见的重启和关闭的命令,如下:一.shutdown 1.shutdown...
2019-06-05 17:05:05
24060
6
原创 StringUtils中isBlank和isEmpty的区别
StringUtils中isBlank和isEmpty的区别isNotEmpty源码Checks if a CharSequence is empty (“”) or null.isNotBlankChecks if a CharSequence is whitespace, empty (“”) or null.比isEmpty多了空字符串的校验System.out.print...
2019-05-10 11:18:57
1977
原创 Windows下安装redis集群 常见问题
1、redis官方下载地址: https://redis.io/downloadGitHub下载地址:https://github.com/ServiceStack/redis-windows个人下载的是redis64 3.2.100版本(网上好多教程也是这个版本,较好上手,试过之后可以在下载最新的版本:redis5.0)注:start6379.bat是自己写的脚本。(可以忽略)2、启动...
2019-04-28 18:53:31
565
原创 redis安装教程(简单方便入门)、Redis集群
Linux下的redis安装1.环境配置Redis是c开发的,因此安装redis需要c语言的编译环境,即需要安装gcc如何查看是否安装gccgcc -v1如果没有gcc,则需要在线安装.命令如下yum install gcc-c++12.redis安装步骤2.1上传redis压缩包到服务器2.2 解压redis压缩包,解压命令如下tar zxf redis-4.0.14.t...
2019-04-28 18:52:53
241
原创 VMware下载及安装、centos7.6镜像
1、VMware + CentOS 安装教程等https://blog.youkuaiyun.com/weixin_33989780/article/details/86451350推荐:【http://msdn.itellyou.cn/】VMware 12 Pro 永久许可证激活密钥5A02H-AU243-TZJ49-GTC7K-3C61NVF5XA-FNDDJ-085GZ-4NXZ9-N20E6...
2019-04-28 14:28:39
8847
原创 安装xshell和xftp
安装地址 :链接:https://pan.baidu.com/s/1pzLP5ZSucfZfec5GabOwag提取码:yx0v
2019-04-28 14:27:31
529
原创 windows本地连接虚拟机中的Linux系统、redis
**windows本地连接虚拟机中的Linux系统**1、先确定windows或(远程IP)的IP地址------Linux查看IP地址的命令是 ifconfig2、windows本地测试是否可以ping通 fedora(操作系统和平台,基于Linux)地址------ping xxx.xxx.xxx.xxx3、关闭防火墙CentOS7这个版本的防火墙默认使用的是firewall,与...
2019-04-28 14:16:55
7135
3
原创 CentOS7 解决yum不能使用的问题-网络配置
一:设置了DNS,DNS的设置至关重要,也许你会忽略这个问题:sudo gedit /etc/resolv.conf编辑配置文件,只需在文件的最后加上一行:nameserver 8.8.8.8二:wget:无法解析主机地址。这就能看出是DNS解析的问题vim /etc/resolv.confnameserver 8.8.8.8 #google域名服务器nameserver 8.8....
2019-04-25 14:41:19
2714
1
原创 使用yum命令出现cannot find a valid baseurl for repo: base/7/x86_64
位置锁定在:/etc/yum.repos.d/通过ls命令查看有下边这些repo文件:CentOS-Base.repo 等解决方案:将这个文件后缀名修改使这个文件无效mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.bak...
2019-04-25 11:25:55
2950
2
原创 有关JSP的总结(9大内置对象)
一、九大内置对象1、1.1 pageContext:内置对象的集大成者,很少使用。config:指定jsp页面初始配置的 Servletpage:当前jsp实例化的对象(java.lang.Object page=this)exception:处理页面异常。源码截图:1.2 sessionapplicationoutrequestresponse2、request.get...
2019-04-24 00:49:49
163
原创 eclipse中代码的注释模板
编辑注释模板的方法:Window->Preference->Java->Code Style->Code Template然后展开Comments节点就是所有需设置注释的元素啦。1、文件(Files)注释标签:/** * @Title: ${file_name} * @Package ${package_name} * @Descriptio...
2019-04-17 17:59:20
233
原创 编程中的上下文的含义
1、上下文(Context)包括应用上下文,请求上下文等2、 每一段程序都有很多外部变量。只有像Add这种简单的函数才是没有外部变量的。一旦你的一段程序有了外部变量,这段程序就不完整,不能独立运行。你为了使他们运行,就要给所有的外部变量一个一个写一些值进去。这些值的集合就叫上下文。3、上下文这个东西不是一个具体的东西,上下文在不同的地方表示不同的含义,要感性理解。Context和文章的上下文...
2019-04-15 15:38:03
5476
原创 spring boot 时间戳转日期格式
第一种方式:默认的json处理是 jackson 也就是对configureMessageConverters 没做配置时mybatis数据查询返回的时间,是一串数字,如何转化成时间。两种方法,推荐第一种方法一:可以在apllication.property加入下面配置就可以#时间戳统一转换 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss...
2019-01-09 14:15:28
9109
16
原创 @jsonignore和@JsonIgnoreProperties的区别
1、@JsonIgnoreProperties此注解是类注解,作用是json序列化时将Java bean中的一些属性忽略掉,序列化和反序列化都受影响。写法将此标签加在model 类的类名上 ,可以多个属性也可以单个属性//生成json时将name和age属性过滤@JsonIgnoreProperties({“name”},{“age”})public class user {priva...
2018-12-27 17:10:46
5433
原创 SpringBoot懒加载(fetch = FetchType.LAZY)
1、FetchType.LAZY:懒加载,加载一个实体时,定义懒加载的属性不会马上从数据库中加载。2、FetchType.EAGER:急加载,加载一个实体时,定义急加载的属性会立即从数据库中加载。3、比方User类有两个属性,name跟address,就像百度知道,登录后用户名是需要显示出来的,此属性用到的几率极大,要马上到数据库查,用急加载;而用户地址大多数情况下不需要显示出来,只有在查看...
2018-12-27 17:06:49
4076
原创 linux中安装mysql5.7
[root@localhost mysql]# scripts/mysql_install_db --user=mysql-bash: scripts/mysql_install_db: 没有那个文件或目录可能是哪些问题呢,怎么解决?1.q:首先看你安装的版本是什么?a:是5.5的还是5.7的版本,如果是5.7的这个初始化命令是不对的。 mysql5.7之前版本初始化配置表命令: s...
2018-12-16 23:41:11
344
原创 Linux常见问题(Xshell连接不上、ifconfig、VMWare网络设置的3种方式)
一、Xshell连接不上虚拟机的问题和解决办法(>_<)1.1.要保证VMware Network Adapter VMnet1和VMware Network Adapter VMnet8是开启状态1.2.保证服务启动状态1.3.linux ip地址可能没有配置。需要自己配置:(我的VM是12版本的,vi/vim 是进入编辑状态)先解决联网的问题:# vi /etc/...
2018-12-13 00:50:53
1439
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人