后台
one_smail
这个作者很懒,什么都没留下…
展开
-
常用util类中注入其它对象bean
普通类中注入指定bean对象原创 2022-10-12 12:43:58 · 988 阅读 · 0 评论 -
使用google.zxing实现二维码制作
使用google.zxing制作二维码原创 2022-10-05 00:05:59 · 531 阅读 · 0 评论 -
Java创建对象的5种方法
使用new关键字 通过使用此方法,我们可以调用要调用的任何构造函数,即可以调用无参数的构造函数也可以调用有参数的构造函数。 User user = new User(); User user = new User(1,”admin”,19);使用Class类的newInstance()方法 例如: User user = Class.forName(“com.smile.entity.User”).newInstance()...原创 2022-04-27 00:39:47 · 2912 阅读 · 0 评论 -
Jasypt实现数据加解密(脱敏)
场景一:对配置文件中的裸露的密码进行加密1、添加依赖 <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>3.0.4</version>原创 2022-04-14 16:32:39 · 11383 阅读 · 3 评论 -
使用jasypt加密配置文件敏感信息
jasypt是一个用来加密配置文件中的信息的工具包。使用如下所示一、引入依赖(版本好根据自己项目自行修改) <dependency> <groupId>com.github.ulisesbocchio</groupId> <artifactId>jasypt-spring-boot-starter</artifactId> <version>原创 2022-02-14 11:38:56 · 459 阅读 · 0 评论 -
MyBatis配置进行数据加密和解密
在数据库中经常会保存一下用户的敏感数据信息,例如身份证号、手机号、用户密码等。如果这些信息以明文的方式保存,一旦数据被恶意获取到就会导致这这些敏感信息的泄露。第一步:依赖除了正常的mybatis和springboot开发依赖包之外,需要额外加入以下包<!-- Hutool 加密解密 --> <dependency> <groupId>cn.hutool</groupId> <a原创 2022-01-11 17:25:59 · 6637 阅读 · 0 评论 -
将 Bean 放入 Spring 容器的几种方式
@Configuration + @Bean @ComponentScan + @Component @Import 配合接口进行导入 使用FactoryBean。 实现BeanDefinitionRegistryPostProcessor进行后置处理。原创 2022-01-10 19:02:16 · 555 阅读 · 0 评论 -
Linux中安装Redis
1、下载redisRedishttps://redis.io/download2、上传至linux服务器,通过tar -zxvf 包名解压安装包3、安装gcc环境yum install -y gcc-c++4、进入解压后的redis包下 执行make 对解压后的文件进行编译5、解压文件有个src目录,进入该目录 执行make install 进行redis安装6、为了方便管理,将redis文件中的conf配置文件和常用命令移动到统一文件中...原创 2021-12-27 15:54:05 · 488 阅读 · 0 评论 -
NumberFormat格式化数字
import java.text.NumberFormat;import java.util.Locale;public class NumberFormat格式化数字 { /** * NumberFormat包含了format()和parse() * 其中format()用于将数值转化成字符串 * parse()用于将字符串解析成数值 * * getCurrencyInstance():返回默认Locale的货币格式器。也可以在调用该方法.原创 2021-12-25 22:57:14 · 640 阅读 · 0 评论 -
国际化与格式化
国际化是指程序运行时,可根据客户端氢气来自的国家/地区、语言的不同而显示不同的界面。 引入国际化的目的为了提供自适应、更友好的用户界面,并不需要改变程序的逻辑功能,国际化的单词时Internationalization,简称(I18N). Java程序的国际化主要通过如下三个类完成 1、java.util.ResourceBundle:用于加载国家、语言资源包; 2、java.util.Locale:用于封装特定的国家/...原创 2021-12-25 22:22:42 · 330 阅读 · 0 评论 -
ActiveMQ在windows上的下载安装与配置
一、下载 通过官网即可下载:ActiveMQ下载后直接解压缩就可以使用它的目录结构树如下:bin:是服务启动相关命令文件的所在目录;data:是默认持久化文件所在目录;docs:里面放的是用户手册;conf:是配置文件所在目录,任何配置文件修改后,必须重启activemq,才能失效二、配置文件说明1、activemq.xml 配置的是ActiveMQ应用使用的默认对象组件。transportConnectors标签:配置链接...原创 2021-11-16 13:31:50 · 3853 阅读 · 0 评论 -
Java项目中接口如何调用
一、HttpClient HttpClient是Apache Jakarta Common下的子项目,用来提供高效的、最新的、功能丰富的支持Htto协议的客户端编程工具包,并且它支持HTTP协议最新版本和建议。HttpClinet相比传统JDK自带的URLConnection,提升了易用性和灵活性,使客户端发送HTTP请求变得容易,提高了开发效率;二、OkHttp 一个处理网络请求的开源项目,是安卓端最火的轻量级框架。用于替代HttpUrlConnection和Apa...原创 2021-11-14 21:45:58 · 797 阅读 · 0 评论 -
时间切片与循环请求处理
1、通过方法计算两个时间段的差值,以Double数据类型返回,因为后续切片循环处理,不满一次的需要按照一次计算public Double timeMethodOfHous(String beginTime, String endTime) { DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); Date beginDate; Date endDate;原创 2021-11-11 21:59:42 · 420 阅读 · 0 评论 -
计算两个时间的差值
import com.alibaba.fastjson.JSON;import com.alibaba.fastjson.JSONObject;import com.example.demo.entity.CarInfos;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RestController;import java.text..原创 2021-11-11 21:48:23 · 329 阅读 · 0 评论 -
比较两个时间的大小
import com.alibaba.fastjson.JSONObject;import org.springframework.web.bind.annotation.PostMapping;import org.springframework.web.bind.annotation.RestController;import java.text.ParseException;import java.text.SimpleDateFormat;import java.util.Date;.原创 2021-11-11 21:46:29 · 771 阅读 · 0 评论 -
项目配置中数据库密码的加密
以SpringBoot项目为例,一般我们在开发的时候,需要在application.yml文件中写上数据库的连接信息,包括数据库密码。通常我们将数据库密码也是以明码的方式书写的,这就导致数据库密码裸露在外,不够安全。 下面使用PBE加密算法:PBEWITHMD5andDES,对数据库密码进行加密,在配置文件中使用密文,让数据库密码不至于太过暴漏。1、添加依赖 <!-- 数据库加密配置--> <dependency&g...原创 2021-10-31 15:31:15 · 1726 阅读 · 0 评论 -
检查字符串是否为合法的日期格式
检查字符串是否为合法的日期格式从以下三个方面说起:1、字符串格式是否正确,比如格式是否是yyyy-MM-dd2、时间是否在合法范围内,比如我们需要限定在一个月内的时间3、字符串是否可以解析为正常的时间,比如2月30号就不是正常的时间第一种:使用DateFormat检查1、定义时间校验器的接口 接口方法接收一个字符串,返回布尔类型,标识字符串是否是合法的时间格式public interface DateValidator { boolean isValid...原创 2021-10-29 18:33:13 · 7540 阅读 · 1 评论 -
为项目启动生成一个随机端口
在实际开发中,项目的端口都是定好的,通过server.port可以指定端口。当一个服务想要启动多个实例时,就需要改变端口,特别是在微服务中,服务都会注册到注册中心去,为了能够让服务随时都可以扩容,在服务启动的时候能随机生成一个可以使用的端口是最好不过的。 第一种:在配置文件中通过server.port指定。指定的值通过${random}来随机生成server: port: ${random.int[2000,8000]} 这种通过配置文件的方式是...原创 2021-09-13 20:37:19 · 1545 阅读 · 0 评论 -
异步执行Async
异步调用就是不用等待结果的返回就执行后面的逻辑;同步调用则需要等待结果再执行后面的逻辑。 通常我们使用异步操作的时候都会创建一个线程执行一段逻辑,然后把这个线程丢到线程池中去执行...原创 2021-09-13 19:54:39 · 720 阅读 · 0 评论 -
统一异常处理
如果调用接口的时候我们把接口地址写错,就会得到一个404错误,如果是其它接口原因报错也会得到其它的报错状态码。{ "timestamp":"1492093712290", "status":404, "errot":"Not Found", "path":"/restll/auth"} 但是前端开发人员拿到如上面返回的时候是无法识别的。最明显的就是status字段,我们自定义的是boolean类型,用来标识请求是否成功,但是上面返回的...原创 2021-09-13 18:25:34 · 234 阅读 · 0 评论 -
bpmn文件转换为png格式图片
1、首先通过idea复制一份创建好的bpmn文件,粘贴的时候,修改为xml格式文件;2、选中重命名的xml文件,右键单击,进行转换3、点击如图所示位置的图标,选择保存到自己指定的位置,完成bpmn到png的转换...原创 2021-09-13 12:59:39 · 2722 阅读 · 0 评论 -
idea安装actiBPM,创建bpmn文件
idea低版本在pluging中搜索actiBPM的时候是搜索不到的,因此要使用actiBPM插件的话就需要手动导入actiBPM相关jar包。这种方法适用于所有插件安装。 1、jar下载地址:JetBrains Marketplacehttps://plugins.jetbrains.com/2、选择自己需要的版本,下载到本地保存 3、idea内导入本地jar文件,重启idea 4、创建bpmn文件,开始后...原创 2021-09-13 11:15:11 · 2164 阅读 · 0 评论 -
文件上传
一、单文件上传 @RequestMapping("fileUpload") @ResponseBody public String fileUpload(@RequestParam("fileName") MultipartFile file) { if (file.isEmpty()) { return "false"; } String fileName = file.getOriginalFilenam原创 2021-04-19 17:00:37 · 227 阅读 · 0 评论 -
Java使用POI(一)
poi下载地址:https://archive.apache.org/dist/poi/release/bin/基本开发所需要的jar包如下(版本号根据自己使用情况选择):一、基本操作import org.apache.poi.hssf.usermodel.HSSFCell;import org.apache.poi.hssf.usermodel.HSSFRow;import org.apache.poi.hssf.usermodel.HSSFSheet;import org.apa原创 2021-03-31 17:24:49 · 3154 阅读 · 0 评论 -
Mybatis-Plus常用注解
@TableName:表名注解@TableId:主键注解@IdType:主键注解@TableFieId:字段注解(非主键)属性 类型 必须指定 默认值 描述 value String 否 "" 数据库字段名 el String 否 "" 映射为原生#{...}逻辑,相当于写在xml 里的#{...}部分 exist boolean 否 tr原创 2021-03-24 11:59:14 · 491 阅读 · 1 评论 -
junit
Assert提供了多个断言方法. 主用于比较测试传递进去的两个参数断言 Assert.assertEquals()Assert.assertEquals();及其重载方法:1. 如果两者一致, 程序继续往下运行.2. 如果两者不一致, 中断测试方法, 抛出异常信息 AssertionFailedError示例1:查询到的userList如果是5条,则程序继续往下运行,否则终端测试方法,抛出异常List<User> userList = userMapper.select..原创 2021-03-24 11:21:20 · 227 阅读 · 0 评论 -
MybatisX代码自动生成
使用MybatisX可以快速实现代码自动生成1、安装MybatisX插件,我使用的是IDEA2、在idea中连接数据库3、右键单击要操作的数据表,选择代码生成4、自定义设置自定义设置后,点击ok,则可通过MybatisX快速生成代码...原创 2021-03-23 19:15:28 · 6758 阅读 · 3 评论 -
Map、JSON、String之间的转换
使用alibaba的fastjson1、Map转jsonMap<String, Object> map = new HashMap<String, Object>();JSONObject json = new JSONObject(map);2、Map转StringMap<String, Object> map = new HashMap<>();String s = JSONObject.toJSONString(map);3、原创 2021-01-13 17:31:40 · 2481 阅读 · 0 评论 -
用命令将本地jar包导入本地maven仓库中
例如我们需要将下面pom文件中的的jar包引入本地仓库<dependency> <groupId>com.hk</groupId> <artifactId>kafka</artifactId> <version>1.0.0</version></dependency>导入命令mvn install:install-file -Dfile=D:\kafka-sdk-1.0.1原创 2020-11-07 17:57:05 · 351 阅读 · 0 评论 -
普通类调用service层或者mapper层接口
常见的是Controller层调用service层,调用mapper层。但是因为一些业务需求,可能需要在普通类中直接调用service层或者mapper层接口,这时候如果使用普通类直接调用service层或者mapper层都会报null,就算在对应的service或者mapper层添加注解@Component加入Spring容器管理也不行,原因在于调用的service或mapper层是非静态的,就算你设置为静态的也是错误的。下面方法经过测试,是可以使用的@Componentpublic clas.原创 2020-10-20 11:08:47 · 5216 阅读 · 1 评论 -
Java获取当前时间后24小时
运用场景:用于定时任务,例如当前时间后多少小时等时间间隔设置,当前时间后24小时DateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss")Calendar calendar = Calendar.getInstance()Date date = new Date()calendar.setTime(date)//当前时间循环24小时加下去Timestamp ts = nullfor (int i=0;i<24;原创 2020-09-25 13:05:13 · 3558 阅读 · 0 评论 -
Java解决跨域问题
后台解决跨域的方法:第一种:java过滤器过滤(允许整个项目跨域访问,可以通过filter进行过滤)import javax.servlet.*;import javax.servlet.http.HttpServletResponse;import java.io.IOException;public class SimpleCORSFilter implements Filter{ @Override public void init(FilterConfig filter...原创 2020-09-25 13:02:43 · 273 阅读 · 0 评论 -
java获取字符串中括号中的内容
例如,有字符串"采集ID:[1400020338]的层信息已存在!请修改后再次上报!"需要根据字符串中的id对具体的数据表数据进行操作,因此首先需要截取到里面的id。具体操作方式如下String strInfo = "采集ID:[1400020338]的层信息已存在!请修改后再次上报!";private int getId(String strInfo){ String idInfo = strInfo.substring(strInfo.indexOf("[")+1,st...原创 2020-06-29 17:59:49 · 14607 阅读 · 3 评论 -
Thymeleaf的th:text等标签值未在页面显示
通过浏览器控制台可以查看到,th:text已经获取到了后端传输的值,但是在浏览器页面中并没有看到内容。解决办法:查看自己项目的配置文件,看是否在配置了Thymeleaf的suffix为html,同时配置了freemark的suffix也是html。如果是,freemark的suffix生效会覆盖掉Thymeleaf,使其Thymeleaf不生效。可以将freemark的suffix修改为.ftl如果没有使用freemark,可以将freemark的配置删除...原创 2020-06-11 17:17:01 · 3419 阅读 · 1 评论 -
获取当前项目的ip
//获取当前项目的ip InetAddress address = InetAddress.getLocalHost(); byte[] ipAddr = address.getAddress(); String ipAddrStr = ""; for (int i=0;i<ipAddr.length;i++){ if(i > 0){ ipAddrStr += ...原创 2020-06-09 11:25:26 · 638 阅读 · 0 评论 -
schemalocation必须有偶数个URI
这个问题肯定是引入的schemaLocation 值不对称引起的,仔细查看xml文件中的schemaLocation,对应的添加即可。xmlns:websocket="http://www.springframework.org/schema/websocket"http://www.springframework.org/schema/websockethttp://www.springframework.org/schema/websocket/spring-websocket-4.0.xsd原创 2020-06-09 11:13:26 · 947 阅读 · 0 评论 -
org.springframework.beans.factory.NoSuchBeanDefinitionException
spring使用TashScheduler定时任务会在日志中有异常org.springframework.beans.factory.NoSuchBeanDefinitionException:No qualifying bean of type 'java.util.concurrent.ScheduledExecutorService' available该报错不会影响定时任务的使用,但是以异常的形式在日志中存在。解决办法,将其注册成spring中的bean,我是通过代码实现其注册的。impo原创 2020-06-09 11:12:21 · 931 阅读 · 0 评论 -
java.lang.ClassNotFoundException:org.springframework.boot.bind.RelaxedDataBin
首先说说引起此报错的原因。在我的SpringBoot项目中,使用了Druid连接池,版本1.1.14。我使用的spring-boot-starter-parent的版本是2.1.1.RELEASE。第一、Druid自带的spring-boot-starter-parent版本是1.5.x;第二、spring-boot-parent在2.x版本上废除了org.springframework.boot...原创 2019-12-20 15:54:02 · 1591 阅读 · 1 评论 -
Ubuntu安装配置tomcat(以及配置多个tomcat)
到官网下载tomcat的包文件,要注意tomcat是分linux系统使用和windows系统使用的,在linux中使用下载tar.gz包。下载好包之后,在终端进行操作。Sudo -i进入root,要输入密码首先创建一个文件夹,用来存放你即将上传解压的tomcat文件 Mkdir /usr/local/tomcat切换到tomcat文件下,cd ../usr/local/tomcat上传包文件:r...原创 2018-06-21 19:27:43 · 1944 阅读 · 0 评论 -
xml配置文件
以前使用struts2框架的时候并没有注意过创建的web.xml文件,最近在搭建struts框架的时候碰到一个问题。下面首先我把自己的环境介绍一下。 JDK1.8、Tomcat8、Myeclipse2017(Myeclipse8.5)、Maven3.5.4 问题是:在创建Maven项目后,添加了Struts的依赖,书写log4j.properties文件和struts.xm...原创 2018-07-19 18:36:00 · 698 阅读 · 0 评论