
java
文章平均质量分 60
1杯空氣
这个作者很懒,什么都没留下…
展开
-
Jasypt 对配置文件信息加密
SpringBoot项目,对数据库密码等配置信息进行加密原创 2022-06-30 18:30:15 · 461 阅读 · 1 评论 -
logback的使用
一、logback的介绍Logback是由log4j创始人设计的另一个开源日志组件,官方网站: http://logback.qos.ch。它当前分为下面下个模块:logback-core:其它两个模块的基础模块 logback-classic:它是log4j的一个改良版本,同时它完整实现了slf4j API使你可以很方便地更换成其它日志系统如log4j或JDK14 Logging logback-access:访问模块与Servlet容器集成提供通过Http来访问日志的功能二、logback原创 2021-01-04 16:40:46 · 195 阅读 · 0 评论 -
EasyExcel 简易使用
简单的读取excel /** * 最简单的读 * <p>1. 创建excel对应的实体对象 参照{@link DemoData} * <p>2. 由于默认一行行的读取excel,所以需要创建excel一行一行的回调监听器,参照{@link DemoDataListener} * <p>3. 直接读即可 */ @Test public void simpleRead() { Strin原创 2020-07-29 11:44:37 · 1193 阅读 · 0 评论 -
Java 正则表达式
Java 正则表达式正则表达式定义了字符串的模式。正则表达式可以用来搜索、编辑或处理文本。正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。正则表达式实例一个字符串其实就是一个简单的正则表达式,例如Hello World正则表达式匹配 "Hello World" 字符串。.(点号)也是一个正则表达式,它匹配任何一个字符如:"a" 或 "1"。下表列出了一些正则表达式的实例及描述:正则表达式 描述 this is text ..原创 2020-07-01 14:27:09 · 675 阅读 · 0 评论 -
spring事件监听(eventListener)
这个是用的观察者模式,有一些事是依赖于事件源的产生,比如说一个项目有产品、有资讯等基础资源,然后这些基础资源又组成了各种活动,当基础资源下架时,这些活动自然不能将对应的资源展示出来,一般来说这个使用sql可以很容易搞定,但假设这些活动不一定都是在rdms数据库存储,可能在mongo之类的,那就需要先把活动配置全部取出,然后再做对应的查询,另外即便是sql能够搞定,但是假设基础资源很多、活动类型也很多,这sql也不会很好看,执行效率也不高,缓存也不好做。而如果是在基础资源修改状态时手动去做相应的操作,那么耦合原创 2020-06-03 10:01:31 · 2683 阅读 · 0 评论 -
Java 8 ——Stream的简单使用
本篇文章主要内容:介绍 Stream 以及 Stream 是如何处理集合的 介绍 Stream 与集合的关系与区别 Stream 的基本方法介绍一. 什么是 StreamStream 中文称为 “流”,通过将集合转换为这么一种叫做 “流” 的元素序列,通过声明性方式,能够对集合中的每个元素进行一系列并行或串行的流水线操作。换句话说,你只需要告诉流你的要求,流便会在背后自行根据要求...原创 2020-04-01 14:29:41 · 365 阅读 · 0 评论 -
分布式ID生成器 雪花算法
在应用程序中,经常需要全局唯一的ID作为数据库主键。如何生成全局唯一ID?首先,需要确定全局唯一ID是整型还是字符串?如果是字符串,那么现有的UUID就完全满足需求,不需要额外的工作。缺点是字符串作为ID占用空间大,索引效率比整型低。如果采用整型作为ID,那么首先排除掉32位int类型,因为范围太小,必须使用64位long型。采用整型作为ID时,如何生成自增、全局唯一且不重复的ID?...原创 2019-10-24 19:43:17 · 587 阅读 · 0 评论 -
spring boot 使用redis进行发布订阅
异步消息的方式有很多,这篇博客介绍如何使用redis进行发布订阅,完成这个示例只需要三个文件 1.redis消息监听配置@Configurationpublic class RedisListenerConfig { /** * redis消息监听器容器 * 可以添加多个监听不同话题的redis监听器,只需要把消息监听器和相应的消息订阅处理器绑定,该...转载 2019-02-18 13:41:01 · 202 阅读 · 0 评论 -
利用SpringCloud搭建一个最简单的微服务框架
利用SpringCloud搭建一个最简单的微服务框架1.微服务微服务主要包含服务注册,服务发现,服务路由,服务配置,服务熔断,服务降级等一系列的服务,而springCloud为我们提供了个一整套的服务; 本例子为你提供了最简单的一个服务发现例子,包含服务注册发现spingCloudEurekaServer、服务配置中心spingCloudConfServer、以及一个ap...原创 2019-02-12 17:11:07 · 350 阅读 · 0 评论 -
sql与Java 数据类型的对应文档
类型名称 显示长度 数据库类型 JAVA类型 JDBC类型索引(int) 描述 ...原创 2019-02-12 17:05:14 · 544 阅读 · 0 评论 -
redisTimple 对redis进行增加、删除、查找
配置redisConfigpackage com.qn.config;import org.springframework.context.annotation.Bean;import org.springframework.context.annotation.Configuration;import org.springframework.data.redis.connecti...原创 2017-08-29 15:43:24 · 1398 阅读 · 0 评论 -
poi 导出excel
1、添加jar <dependency> <groupId>org.apache.poi</groupId> <artifactId>poi</artifactId> <version>3.16</version>原创 2018-10-25 16:16:40 · 226 阅读 · 0 评论 -
Java各种对象(PO,BO,VO,DTO,POJO,DAO,Entity,JavaBean,JavaBeans)的区分
PO:持久对象 (persistent object),po(persistent object)就是在Object/Relation Mapping框架中的Entity,po的每个属性基本上都对应数据库表里面的某个字段。完全是一个符合Java Bean规范的纯Java对象,没有增加别的属性和方法。持久对象是由insert数据库创建,由数据库delete删除的。基本上持久对象生命周期和数据库...转载 2018-09-12 19:13:26 · 155 阅读 · 0 评论 -
微信公众号 开发
1、OAuth2.0简介 OAuth(开放授权)是一个开放标准,允许用户让第三方应用访问该用户在某一网站上存储的私密的资源(如照片,视频,联系人列表),而无需将用户名和密码提供给第三方应用。 允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某...转载 2018-08-06 17:39:18 · 1432 阅读 · 0 评论 -
经典排序方法
一、冒泡排序:(1)原理: 1、从第一个数据开始,与第二个数据相比较,如果第二个数据小于第一个数据,则交换两个数据的位置。 2、指针由第一个数据移向第二个数据,第二个数据与第三个数据相比较,如果第三个数据小于第二个数据,则交换两个数据的位置。 3、依此类推,完成第一轮排序。第一轮排序结束后,最大的元素被移到了最右面。 4、依照上面的过程进行第二轮排序,将第二大的排在...原创 2018-07-31 17:16:39 · 230 阅读 · 0 评论 -
搭建简单的springCloud Eureka
一、SpringCloud和DubboSpringCloud整合了一套较为完整的微服务解决方案框架,而Dubbo只是解决了微服务的几个方面的问题。 content Dubbo SpringCloud 服务注册中心 zookeeper Spring Cloud Netflix E...转载 2019-02-12 17:14:38 · 387 阅读 · 0 评论 -
Spring Data 概述
Spring Data 概述Spring Data : Spring 的一个子项目。用于简化数据库访问,支持NoSQL 和 关系数据存储。其主要目标是使数据库的访问变得方便快捷。 SpringData 项目所支持 NoSQL 存储: MongoDB (文档数据库) Neo4j(图形数据库) Redis(键/值存储) Hbase(列族数据库) SpringData 项目所支持的关系数...原创 2019-02-12 17:22:03 · 959 阅读 · 0 评论 -
Spring表达式语言SpEL
Spring表达式语言SpELSpring3引入了Spring表达式语言(Spring Expression Language,SpEL)。SpEL是一种强大的、简洁的装配Bean的方式,它通过运行期执行的表达式将值装配到Bean的属性或构造器参数中。字面值我们可以在<property>元素的value属性中使用#{}界定符将值装配到Bean的属性中。<property ...转载 2019-02-12 17:35:00 · 834 阅读 · 0 评论 -
通过Feign调用的方法实现接口之间的传递
1、接口的写法@FeignClient(name = "yzf-cloud-finance-center", url = "192.168.1.32:8912", fallback = FundFeignClientServiceFallBack.class)public interface FundFeignClientService { @RequestMapping(value =原创 2017-09-09 09:39:16 · 1917 阅读 · 0 评论 -
Java精确运算(BigDecimal)
java保留两位小数问题: 方式一: 四舍五入 double f = 111231.5585; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2, BigDecimal.ROUND_HALF_UP).doubleValue(); 保留两位小数 -------...转载 2019-07-23 14:40:01 · 400 阅读 · 0 评论 -
springboot同时整合websocket和定时任务报错
最近用springboot整合websocket和定时任务时,出现报错信息Unexpected use of scheduler启动类 @EnableWebSocket @EnableScheduling public class MpApplication { public static void main(String[] args) { ...转载 2019-03-26 20:05:57 · 1336 阅读 · 0 评论 -
SpringBoot集成WebSocket【基于纯H5】进行点对点[一对一]和广播[一对多]实时推送
之前实现WebSocket基于STOMP的,觉得SpringBoot封装的太高,不怎么灵活,现在实现一个纯H5的,也大概了解webSocket在内部是怎么传输的。1.环境搭建因为在上一篇基于STOMP协议实现的WebSocket里已经有大概介绍过Web的基本情况了,所以在这篇就不多说了,我们直接进入正题吧,在SpringBoot中,我们还是需要导入WebSocket的包。在pox...转载 2019-03-26 20:02:14 · 400 阅读 · 0 评论 -
SpringBoot中使用Scheduling执行定时任务
SpringBoot自带的 Schedule,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多以下任务都是在单线程下执行的第一步 创建SpringBoot项目第二步 添加@EnableScheduling开启定时任务第三步 设置定时需要执行的任务有两种方法设置执行时机第一种我们就且叫他为普通方法1.fixedRate:会为所有任务的开始执行时间编...转载 2019-03-26 19:59:35 · 630 阅读 · 0 评论 -
简易使用shrio 实现 登录验证
1、shiro 配置import java.util.HashMap;import java.util.Map;import javax.servlet.Filter;import org.apache.shiro.mgt.DefaultSessionStorageEvaluator;import org.apache.shiro.mgt.DefaultSubjectDAO;imp...原创 2019-03-20 20:24:02 · 649 阅读 · 1 评论 -
spring 获取bean的方法
1、在初始化时保存ApplicationContext对象ApplicationContext ac = new FileSystemXmlApplicationContext("applicationContext.xml"); ac.getBean("userService");//比如:<bean id="userService" class="com.cloud.servic...原创 2019-03-15 18:48:07 · 235 阅读 · 0 评论 -
Hibernate入门这一篇就够了
前言本博文主要讲解介绍Hibernate框架,ORM的概念和Hibernate入门,相信你们看了就会使用Hibernate了!什么是Hibernate框架?Hibernate是一种ORM框架,全称为 Object_Relative DateBase-Mapping,在Java对象与关系数据库之间建立某种映射,以实现直接存取Java对象!为什么要使用Hibernate?既然Hib...转载 2019-02-14 11:43:14 · 180 阅读 · 0 评论 -
Java8特性详解 lambda表达式
Java8特性详解 lambda表达式 Stream1.lambda表达式Java8最值得学习的特性就是Lambda表达式和Stream API,如果有python或者javascript的语言基础,对理解Lambda表达式有很大帮助,因为Java正在将自己变的更高(Sha)级(Gua),更人性化。--------可以这么说lambda表达式其实就是实现SAM接口的语法糖。lambda写的好可以极...转载 2018-06-07 16:57:05 · 316 阅读 · 0 评论 -
java ICE简单DEMO
在pom文件中加入ice的jar包 <dependency> <groupId>com.zeroc</groupId> <artifactId>ice</artifactId> <version>${ice-version}</version>原创 2018-06-11 16:58:04 · 4360 阅读 · 1 评论 -
aviator 对公式的计算
1、常用的方法@Test public void playAviator(){ String string = AviatorEvaluator.execute("1.2+3+4").toString();// 8.2 String name="小明"; Map paramMap=new HashMap<>(); paramMap.put("name", name);转载 2017-10-23 17:56:23 · 14523 阅读 · 0 评论 -
利用枚举,得到类型的字段
枚举类:package com.yzf.cloud.funds.model.enums;public enum ReceiptTypeEnum { OUTPUTINVOICE("销项发票", 1), INCOMINVOICE("进项发票", 2), OTHERINVOICE("其他发票", 3), BANKJOURNAL("银行日记账", 4), CASHJOURNAL(...原创 2017-10-10 09:27:05 · 897 阅读 · 0 评论 -
String类型null和“”的用法
String str1 = null; str引用为空String str2 = ""; str引用一个空串也就是null没有分配空间,""分配了空间,因此str1还不是一个实例化的对象,而str2已经实例化。注意因为null不是对象,""是对象。所以比较的时候必须是 if(str1==null){...}和if(str2.equals("")){...}。对象用equals比较,null用等号比原创 2017-09-22 15:41:35 · 1954 阅读 · 0 评论 -
list排序
1、利用TreeSet(对list排序) @Test public void QuChongList(){ List<String> list=new ArrayList<>(); list.add("aaa"); list.add("aaa"); list.add("bbb"); list.add("bbb"); list.add("...原创 2017-09-21 14:29:30 · 561 阅读 · 0 评论 -
XStream 实现XML>Obj 和 obj>XML
1、需要的jar包 jar 包的 maven地址: com.thoughtworks.xstream xstream 1.4.9 2、实体类处理package com.qn.model;import java.io.Serializable;import com.thoughtworks.x原创 2017-09-26 15:26:12 · 351 阅读 · 0 评论 -
zxing 二维码的生成与解析
1、需要的jar包maven下载地址 com.google.zxing core 2.2 com.google.zxing javase 2.2 2、二维码Utilpackage com.qn.utils;import java.io.File;i原创 2017-09-27 14:07:06 · 283 阅读 · 0 评论 -
springMvc 的参数验证 BindingResult result 的使用
http://blog.sina.com.cn/s/blog_6829be5c0101alxh.html 非常详细的一篇讲解 并且值得深入探讨http://bbs.youkuaiyun.com/topics/360254599 简单明了 1. 首先导入依赖包bean-validator.jar2.在实体类上面写一些相关的验证信息:可以搜索更多的一些验证方式,这只是一部分可以参...原创 2017-09-25 10:12:47 · 25218 阅读 · 0 评论 -
String 类型 日期时间大小的比较
public static int compare_date(String DATE1, String DATE2) { DateFormat df = new SimpleDateFormat("yyyy-MM-dd hh:mm"); try { Date dt1 = df.parse(DATE原创 2017-09-08 11:27:29 · 25090 阅读 · 3 评论 -
StringUtils API(中英文对照)
由于本人水平有限,翻译可能不太准确,先把部分原稿发布,还没有进行校对,请大家提宝贵意见,近期发布apiorg.apache.commons.lang Class StringUtilsjava.lang.Object org.apache.commons.lang.StringUtilspublic class St转载 2017-09-07 10:49:59 · 1471 阅读 · 0 评论 -
对List集合中的对象进行自定义排序
Collections.sort(bsBankJournalVOs, new Comparator() { /* * int compare(BsBankTradeVO o1, BsBankTradeVO o2) 返回一个基本类型的整型, * 返回负数表示:o1 小于o2, 返回0 表示:o1和o2相等, 返回正数表示:o1大于o2。 */ public in原创 2017-09-01 18:08:36 · 728 阅读 · 0 评论 -
对map通过key进行排序
1、升序 public Map getAscMap(Map map){ if(map==null||map.isEmpty()){ return null; } Map treeMap=new TreeMap(new Comparator() { @Override public int compare(String o1, String o2) { retu原创 2017-09-05 14:30:39 · 592 阅读 · 0 评论 -
事物的手动回滚
1、方法中要开启事物注解:@Transactional2、遇到错误进行手动回滚TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();注意:回滚之后 再进行return 3、实例@Transactional public ResultJson updateInvoiceType(S原创 2017-10-24 11:36:07 · 361 阅读 · 0 评论