java
文章平均质量分 54
wjs040
程序设计源自于生活
展开
-
后端java和前端js实现md5加密工具(MD5)
java加密工具import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;public class MD5Util { public static String getMD5(String input) { MessageDigest md5 = null; try { md5 = MessageDigest.getInstance("MD原创 2022-03-18 16:55:36 · 978 阅读 · 0 评论 -
java对象序列化和反序列化工具类,基于protobuf封装
引入jar<!-- protostuff--> <dependency> <groupId>com.dyuproject.protostuff</groupId> <artifactId>protostuff-api</artifactId> <version>1.0.10</version> </de原创 2021-11-04 10:06:26 · 399 阅读 · 0 评论 -
Tomcat配置ip限制访问
当我们一个服务发布之后,可能会有如下需求:1.只能允许指定用户访问(如给某客户提供特定的接口服务)2.不允许执行用户访问(即黑名单)在tomcat中,我们可以通过配置在控制不同ip或主机名对服务的访问限制。配置主机参数名:RemoteHostValve配置IP地址参数名:RemoteAddrValve打开tomcat下的/conf/server.xml文件标签上面,添加如下内容:<!-- 只允许192.168.191.1访问 --> <!-- <Valve cla转载 2021-04-07 10:04:32 · 3214 阅读 · 0 评论 -
activiti在java中的应用完整示例
说明1、本示例采用动态设置处理人的方式,分别包括单人、多人、会签、监听2、加入网关的判断常用的功能和操作基本涵盖了先上个流程图步骤详解首先先贴上流程部署和开启流程的代码,下面所有的方法是用的processEngine 是此处的流程部署代码://1.创建ProcessEngineer对象,主要使用此方法 activiti.cfg.xml文件名和路径必须在resources下面 ProcessEngine processEngine = ProcessEngines.getDe原创 2021-02-24 15:44:33 · 2542 阅读 · 0 评论 -
idea之工作流activiti简单实战示例以及数据库表说明
首先idea安装actiBPM插件打开file --> setting 面板如果插件列表中没actiBPM,则进行 2 操作,进行浏览插件搜索 actiBPM,然后点击 “install” 按钮安装即可,然后重启idea创建简单的流程图在resource文件夹上右键,New–>BPMN File 新建文件,弹出窗口,然后输入文件绘制完成后,改后缀名为xml, 然后将其导出为png参考地址:https://blog.csdn.net/fy_java1995/article/det原创 2021-02-20 15:25:23 · 1483 阅读 · 0 评论 -
java多线程CyclicBarrier和CountDownLatch的使用,同步等待多个线程都执行完后,再执行后面的操作
Java的CountDownLatch和CyclicBarrier的理解和区别CountDown表示减法计数,Latch表示门闩的意思,计数为0的时候就可以打开门闩了。Cyclic Barrier表示循环的障碍物。两个类都含有这一个意思:对应的线程都完成工作之后再进行下一步动作,也就是大家都准备好之后再进行下一步。然而两者最大的区别是,进行下一步动作的动作实施者是不一样的。这里的“动作实施者”有两种,一种是主线程(即执行main函数),另一种是执行任务的其他线程,后面叫这种线程为“其他线程”,区分于主原创 2021-02-04 16:16:35 · 264 阅读 · 0 评论 -
mongodb与springboot整合使用
引入jar <!--mongodb依赖配置--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-mongodb</artifactId> </dependency>配置文件spring: dat原创 2020-12-18 18:12:04 · 251 阅读 · 1 评论 -
RocketMQ 解决 No route info of this topic,connection to ip : 10911 failed的方法
java 代码中连接时报错:No route info of this topic## 首先改配置文件vim broker.conf ## 这个文件里面最后加上autoCreateTopicEnable=true## 在启动broker时要显式声明一下使用该文件nohup bin/mqbroker -c conf/broker.conf &org.apache.rocketmq.remoting.exception.RemotingConnectException: connecti原创 2020-12-07 18:09:28 · 1663 阅读 · 0 评论 -
mybatis generator逆向工程生成工具代码以及xxxExample参数详情讲解和使用
generator逆向工程生成代码首先引入jar包,数据库用mysql为例<dependency> <groupId>org.mybatis.generator</groupId> <artifactId>mybatis-generator-core</artifactId> </dependency> <dependency>原创 2020-12-05 15:12:34 · 925 阅读 · 1 评论 -
Java Validation Api (使用篇)
说明: 在我们应用程序的业务逻辑中,经常会碰到参数校验的情况,手动的在代码层上面进行校验就会带来很不好的体验,阅读、维护的成本会大大增加,造成冗余。因此有了这个JSR 303。Bean Validation为JavaBean提供了相应的API来给我们做参数的验证。通过Bean Validation比如@NotNull @Pattern等方法来对我们字段的值做进一步的教研。Bean Validation 是一个运行时框架,在验证之后错误信息会直接返回。依赖:<!--添加依赖-->&l转载 2020-11-30 16:33:03 · 442 阅读 · 0 评论 -
java 阴历转阳历,阳历转阴历工具类
阴历转阳历,阳历转阴历 日期计算package com.uwanyi.lottery_draw.util;import java.util.Arrays;import java.util.Date;import java.util.GregorianCalendar;/** * 阴历和阳历转换工具 */public class YinliToYangliUtil { /** * 支持转换的最小农历年份 */ public static final int转载 2020-11-23 11:12:08 · 3324 阅读 · 0 评论 -
mybatis-plus自动代码生成器,以及和springboot的整合使用
1、首先引入jar<dependency> <groupId>org.projectlombok</groupId> <artifactId>lombok</artifactId> <optional>true</optional> </dependency> <dependency> <groupId>mysql</groupId> &原创 2020-07-30 17:18:56 · 286 阅读 · 0 评论 -
springboot整合swagger2以及swagger2的介绍与Spring Security的整合使用
1、首先引入jar包<dependency> <groupId>io.springfox</groupId> <artifactId>springfox-swagger2</artifactId> <version>2.9.2</version> </dependency> <dependency> <groupId>io.springfox</g原创 2020-07-30 16:51:20 · 422 阅读 · 0 评论 -
纯手工采用java编写双色球、大乐透随机生成算法,真实模拟出球
纯java原生态模拟双色球、大乐透规则进行出球,原理:比如双色球,红球33.蓝球16个,先进行红球出球计算,按照双色球出球的规则随机将33个球放入数组或集合中,规定一个出球的方向,随机数12个绑定33个数,比如规定6点钟方向出球,则随机数与绑定的随机数相等时则将随机数绑定的33个数中的那个数出去,完成出球,即2次随机数相等则出球。其中也加入了开始摇球是速度是很快的,但运行一段时间后减慢速度以便出球,这和双色球真实开奖出球差不多。本人亲测,随便猜一组号码,猜中概率最好也得好几万次,最坏的情况就得几百万次。原创 2020-06-24 11:10:32 · 5385 阅读 · 2 评论 -
日志记录切面技术代码
注解类:@Retention(RetentionPolicy.RUNTIME)//元注解,定义注解被保留策略,一般有三种策略//1、RetentionPolicy.SOURCE 注解只保留在源文件中,在编译成class文件的时候被遗弃//2、RetentionPolicy.CLASS 注解被保留在class中,但是在jvm加载的时候北欧抛弃,这个是默认的声明周期//3、Retentio...原创 2020-06-24 10:44:04 · 210 阅读 · 0 评论 -
java 多线程Callable,有返回值多线程,当线程获取到需要的值,则停止其他线程,直接输出结果,继续运行下面的程序
使用Callable进行多线程处理数据import java.util.ArrayList;import java.util.List;import java.util.Random;import java.util.concurrent.*;/** * created by jasonwag * on 2019/7/22 11:03 */public class TestCa...原创 2019-07-22 15:31:45 · 1040 阅读 · 0 评论 -
springboot配置和注册组件
注册Servlet三大组件(servlet、Filter、Listener)由于SpringBoot默认是以jar包的方式启动嵌入式Servlet容器来启动SpringBoot的web应用,没有web.xml文件注册三大组件用以下方式:ServletRegistrationBeanFilterRegistrationBeanServletListenerRegistrationBean...原创 2019-07-03 09:59:14 · 485 阅读 · 0 评论 -
Java并发CyclicBarrier的使用
当分页查询数据缓慢时,可将list列表数据和查询总量分别创建相应的线程去操作,最后汇总返回不多说,直接上代码//下面代码是同一个类中,线程类使用的是内部类//汇总查询结果public Map<String,Object> getSearchData(Pager pager, ZzxtSyrkCzrk zzxtSyrkHjrk, HjrkCon hjrkCon) throws E...原创 2019-07-12 15:01:22 · 164 阅读 · 0 评论 -
JAVA多线程实现的四种方式
Java多线程实现方式主要有四种:继承Thread类、实现Runnable接口、实现Callable接口通过FutureTask包装器来创建Thread线程、使用ExecutorService、Callable、Future实现有返回结果的多线程。其中前两种方式线程执行完后都没有返回值,后两种是带返回值的。1、继承Thread类创建线程Thread类本质上是实现了Runnable接口的一个实...转载 2019-06-11 17:23:03 · 74 阅读 · 0 评论 -
spring boot学习2,日志框架
二、日志1、日志框架日志门面:SLF4j日志实现:Logbackspring boot选用的就是slf4j和logback2、SLF4J使用1、如何在系统中使用slf4jimport org.slf4j.Loggerimport org.slf4j.LoggerFactorypublic class HelloWorld{ public static void main(Str...原创 2019-07-03 09:57:07 · 116 阅读 · 0 评论 -
spring boot学习笔记1,配置文件,profiles 多环境配置,配置文件加载位置以及顺序
一、配置文件1、配置文件注入配置文件中最大的注意点就是要有空格,尤其是yml中1、properties配置文件在idea中默认是utf-8可能会乱码,解决方法是将file encoding里面配置编码的旁边的复选框勾上。2、@value和@ConfigurationProperties的使用@value对单个属性进行注入@ConfigurationProperties 对应全局属性注入...原创 2019-07-03 09:56:53 · 311 阅读 · 0 评论 -
java处理数据库密码加密配置时如何解密使用
首先配置文件中<!-- 加密时候使用 --> <bean id="propertyConfig" class="sunwin.yog.dao.DecodePropertyConfigurer"> <property name="locations"> <list> &l...原创 2019-07-03 09:55:48 · 438 阅读 · 0 评论 -
java ftpService和另外一篇java处理富文本结合使用
直接上代码:import org.springframework.stereotype.Service;import org.springframework.web.multipart.MultipartFile;import sun.misc.BASE64Decoder;import sunwin.yog.comm.FileHelper;import sunwin.yog.comm.F...原创 2019-06-13 17:20:18 · 165 阅读 · 0 评论 -
java生成视频缩略图的代码以及工具包的提取
java编程语言使用ffmpeg生成视频ffmpeg工具包提取地址:链接: https://pan.baidu.com/s/1O8Hj0Yjnzx_pKDoYdItT7g 提取码: n7jt/** * 生成视频缩略图 * * @param videoName */public String buildVideoImg(HttpServletRequest request,Strin...原创 2019-06-11 17:47:16 · 1133 阅读 · 0 评论 -
java生成圆形二维码logo
自定义生成二维码,可以根据自己的喜欢在二维码中添加图片。有些代码是参考网上某位大神的,如有相同之处,请给我留言,我加上您的名字或者不让参考发表,则可删除。jar提取地址:链接: https://pan.baidu.com/s/1nXiTbQXvNQUUYXsvLbSeyg 提取码: pdndimport com.swetake.util.Qrcode;import javax.imag...原创 2019-06-11 17:58:14 · 5682 阅读 · 0 评论 -
java后台创建get、post的http连接,同时传递参数
简介项目开发过程中,我们有时需要通过第三方提供的接口来获取第三方的数据,前端可以通过ajax去进行接口数据获取;而java后台连接接口的方式之一就是通过HttpURLConnection创建http连接,设定get和post的请求方式,同时传递参数;项目实践import java.io.BufferedReader;import java.io.IOException;import ...转载 2019-06-12 10:08:30 · 611 阅读 · 0 评论 -
springboot启动配置原理, 事件监听机制,自定义starter
事件监听机制配置在META-INF/spring.factoriesApplicationContextInitializerSpringApplicationRunListener只需要放在ioc容器中即可ApplicationRunnerCommandLineRunner执行顺序是:1、SpringApplicationRunListener 开始准备环境2、Applicat...原创 2019-07-04 17:25:10 · 480 阅读 · 0 评论 -
springboot学习6之整合mybatis及jpa持久化
整合mybatis引入jar包<dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>2.0.1</version>...原创 2019-07-04 11:37:33 · 305 阅读 · 0 评论 -
docker笔记1,docker简介、安装,镜像
docker思想以前项目部署都是项目打包部署,而docker则是整体环境一起打包。就如果之前是搬家,现在是移楼,整栋搬家。docker镜像的设计,使得docker得以打破过去【程序即应用】的观念。透过镜像(images)将作业系统核心除外,运作应用程式所需要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运行,类似java虚拟机一样,一处编译处处使用。docker是基于Go语言实现的...原创 2019-07-10 11:47:40 · 168 阅读 · 0 评论 -
springboot学习5之数据访问,数据源配置druid监控
数据源配置spring: datasource: username: root password: 123456 url: jdbc:mysql://127.0.0.1:3306/jdbc driver-class-name: com.mysql.jdbc.Driverspringboot默认是用org.apache.tomcat.jdbc.pool.Da...原创 2019-07-03 16:00:02 · 148 阅读 · 0 评论 -
springboot学习4之servlet容器,Docker安装以及操作
使用外置的servlet容器嵌入式servlet容器:应用打成可执行的jar优点:简单、便携;缺点:默认不支持jsp、优化定制比较复杂(使用定制器serverProperties、自定义EmbeddedServletContainerCustomizer,自己编写嵌入式servlet容器的创建工厂EmbeddedServletContainerFactory);外置的Servlet容器:外...原创 2019-07-03 10:46:01 · 230 阅读 · 0 评论 -
zookeeper学习笔记,zookeeper工作机制,选举机制,监听器原理,面试问答
zookeeper工作机制zookeeper = 文件系统+通知机制zookeeper从设计模式来看:是一个基于观察者模式设计的分布式服务管理框架。它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,zookeeper将负责通知已经在zookeeper上注册的观察者。zookeeper特点zookeeper:一个领导者(Leader),多个跟随者(follo...原创 2019-07-08 18:03:31 · 333 阅读 · 0 评论 -
springboot开发使用篇restfulCRUD,thymeleaf的标签用法,自定义错误处理机制
普通请求和restfulCRUD如果使用th:insert/replace等属性进行引入,可以用写~{};但行内写法要加上:[[~{}]];[(~{})]thymeleaf公共页面抽取三种引入功能片段的th属性:th:insert:将公共片段整个插入到声明引入的元素中th:replace:将声明引入的元素替换为公共片段,一般为了不改变样式用replaceth:include:...原创 2019-07-02 14:52:05 · 508 阅读 · 0 评论 -
dubbo学习,spring boot整合dubbo,面试问答
服务搭建1、将公共的bean和服务借口放到一个工程模块里面2、每个服务的提供者和消费者引入这个公共的服务模块使用1、将服务提供者注册到注册中心(暴露服务)1)引入dubbo jar包2)注册中心使用的是zookeeper,引入操作zookeeper的客户端(dubbo2.6版本之前的引入zookeeper客户端是zkcli,但dubbo2.6版本之后引入的zookeeper客户端是cu...原创 2019-07-07 17:18:19 · 135 阅读 · 0 评论 -
Web漏洞处理--http host头攻击漏洞处理方案/检测到目标URL存在宽字节跨站漏洞/ 检测到目标URL存在SQL注入漏洞
1.配置web 拦截器<filter> <filter-name>XssSqlFilter</filter-name> <filter-class>com.modules.sys.security.SessionFilter</filter-class> //拦截器的位置 </filter>...转载 2019-06-18 09:21:27 · 4458 阅读 · 0 评论 -
java处理富文本框中的图片,减轻数据库负担
我们在web开发中有时编辑文章,会使用到富文本框,因为特别方便,可以调整文本格式,插入图片等功能。但当保存数据时会发现,插入图片后,图片会以base64位格式存储,这样一张图片根据大小,就会造成该列数据非常的大,在查询的时候会增加查询的时长,速度很慢。这是,如果把插入的图片保存到文件服务器中,只把文件地址保存起来这样就大大减轻了数据库存储的负担,而且查询速度也会很快。下面直接上代码。注另外一篇文件...原创 2019-06-13 17:17:09 · 5119 阅读 · 0 评论