0

PHP中new self()和new static()的区别探究

1.new static()是在PHP5.3版本中引入的新特性。 2.无论是new static()还是new self(),都是new了一个新的对象。 3.这两个方法new出来的对象有什么区别呢,说白了就是new出来的到底是同一个类实例还是不同的类实例呢? 为了探究上面的问题,我们先上一段简单的代码: class Father { public function getNewFather() { return new self(); } public function getNew...

阅读全文>>

3

MyBatis Generator 代码自动生成器,从此解放你的双手

前言在日常开发工作中,我们往往需要自己去构建各种数据表所对应的持久化对象(PO)、用于操作数据库的接口(DAO)以及跟 DAO 所绑定的对应 XML。这都是一些重复性的操作,不需要多大技术含量,这时候我们不禁会去想,有没有一种工具,能够帮助我们去自动生成这些文件呢?答案是:有的!本文接下来的内容主要适用于使用 MyBatis 来做持久层框架开发的工作,如果不是使用 MyBatis,那么可能本文不太适合你的开发场景。MyBatis Generator 简介作为一个基于 MyBatis 的独立工具,MyBatis Generator 能够满足我们以上的要求,能够通过简单的配置去帮我们生成数据表所对...

阅读全文>>

2

使用HttpClient多线程收集数据

public Map<String, String> main(){ try { PoolingHttpClientConnectionManager cm = new PoolingHttpClientConnectionManager(); CloseableHttpClient httpClient = HttpClients.custom() .setConnectionManager(cm) .build(); Map<String, String> urlMap = new ...

阅读全文>>

1

C#调用bat文件

一、生成bat文件生成bat文件可以直接通过文本文档写入bat内容,然后将文件后缀名改成bat即可,这里介绍用C#生成bat文件的方法。/// <summary> /// 生成bat文件 /// </summary> /// <param name="fileContent">文件内容</param> public void createBatFile(string fileContent) { string filePath = "D:\\CISMZ\\注册.bat"; if (!File.Exists(filePath)) ...

阅读全文>>

2

Spring Boot+OAuth2,一个注解搞定单点登录!

需要先说一下,最近写的教程,都是成系列的,有一些重复的东西写来写去就没意思了,所以每一篇文章都默认大家已经懂了前面的内容了,因此下文有任何看不懂的地方,建议一定先看下相关系列:「Spring Security 系列:」挖一个大坑,Spring Security 开搞!松哥手把手带你入门 Spring Security,别再问密码怎么解密了手把手教你定制 Spring Security 中的表单登录Spring Security 做前后端分离,咱就别做页面跳转了!统统 JSON 交互Spring Security 中的授权操作原来这么简单Spring Security 如何将用户数据存入数据库?...

阅读全文>>

1

iText7实现PDF电子签章

  本文记录iText7实现PDF电子签章  提前准备  1、keystore文件,生成自签名证书,猛戳:SpringBoot系列——启用https打开cmd,执行以下命令 keytool -genkeypair -alias stamper -keypass 123456 -keyalg RSA -keysize 1024 -validity 365 -keystore e:/Java/stamper.keystore -storepass 123456  2、印章图片,这里有个在线制作电子公章小工具:http://makepic.net/tool/signet.html  3、pom需要...

阅读全文>>

1

「Java工具类」java8时间日期工具类,整个项目有它就足够了

正文:先上工具类使用例子:System.out.println("2019-11-03=2019-11-04吗?答案是:" + Java8DatetimeUtil .equals(Java8DatetimeUtil.parseDate("2019-11-03"), Java8DatetimeUtil.parseDate("2019-11-04"))); System.out.println("当天日期字符串:" + Java8DatetimeUtil.today()); System.out.println("当天时间字符串:" + Java8Dat...

阅读全文>>

1

Jenkins 学习笔记

本学习笔记参考《Jenkins 2.x实践指南》。1. Jenkins 简介#Jenkins 是一款自动化的任务执行工具。通常用于持续集成/持续交付领域。可以通过界面或Jenkinsfile告诉Jenkins执行什么任务,何时执行。理论上,我们可以让它执行任何任务,但是通常只应用于持续集成和持续交付。持续集成将软件生产过程从手工模式带入流水线模式,软件生产的某个环节都对应流水线上的每个环节。流水线模式还能帮助我们将知识固化到自动化流水线中,在一定程度上解决了知识被人带走的问题。(手工模式对于整个软件生产流程很少有人全部知道,使用流水线模式整个软件生产的过程都以pipeline as code的...

阅读全文>>

2

Java的“泛型”特性,你以为自己会了?(万字长文)

使用Java的小伙伴,对于Java的一些高级特性一定再熟悉不过了,例如集合、反射、泛型、注解等等,这些可以说我们在平时开发中是经常使用到的,尤其是集合,基本是只要写代码没有用不到的,今天我们先来谈谈泛型。1. 定义在了解一个事物之前,我们必定要先知道他的定义,所以我们就从定义开始,去一步一步揭开泛型的神秘面纱。# 泛型(generics) 他是 JDK5 中引入的一个新特性,泛型提供了编译时类型安全监测机制,该机制允许我们在编译时检测到非法的类型数据结构。泛型的本质就是参数化类型,也就是所操作的数据类型被指定为一个参数 # 常见的泛型的类型表示 上面的 T 仅仅类似一个形参的作用,名字实际上...

阅读全文>>

2

分享BigDecimalUtil类

/** * @Title: * @Description: 数学计算 */ public class BigDecimalUtil { /** * 功能描述: <br> * 精确度 */ private static final int DEF_DIV_SCALE = 5; /** * 提供精确的加法运算。 * @param v1 加数 * @param v2 被加数 * @return 两个参数的和 */ public static BigDecimal su...

阅读全文>>