java
文章平均质量分 84
龙池小生
养性事天,修身立命
展开
-
springboot整合shiro实现用户登陆认证、用户授权等
简介:Apache Shiro 是Java的一个安全框架,可以帮助我们完成:认证、授权、加密、会话管理、与 Web 集成、缓存等。目前,使用 Apache Shiro 的人越来越多,因为它相当简单,对比 Spring Security,可能没有 Spring Security 做的功能强大,但是在实际工作时可能并不需要那么复杂的东西,所以使用小而简单的 Shiro 就足够了。摘自w3cschool:https://www.w3cschool.cn/shiro/co4m1if2.html项目简原创 2020-12-18 17:27:32 · 42771 阅读 · 7 评论 -
关于poi的NUMERIC读取excel单元格数值类型数字的问题
使用poi读取excel文件单元格的数据,若是单元格数据是数值格式,poi获取单元格的数值值:row.getCell(j).getNumericCellValue()返回的的结果是double类型若是单元格是int类型,那获取出来的数值也还是double类型,例如:单元格是5, 获取出来的值是5.0但是我们需要的是单元格存储的类型,而不是double类型,这时就导致了一种问题,就是传递错误,给出的数据和接收的数据不一致。解决方法:直接的方法是,以double类型来接收获取的值,原创 2020-12-12 11:09:48 · 54496 阅读 · 4 评论 -
你要惊艳所有人,然后悄悄学java -- mybatis 自动生成
需求:开发过程中,尤其在项目开发的初期阶段,需要建立一些表实体、mybatis xml文件、这个时候手敲代码就duck不必了。下面教给大家一种自动给生成 实体、mapper文件、mybatis xml文件的方法。示例为已经建立好的springboot项目首先:添加自动生成的jar包 <dependency> <groupId>org.mybatis.generator</groupId>原创 2020-12-03 18:17:21 · 43868 阅读 · 0 评论 -
springboot 2.3.0及以上版本 解决@Validated @Valid 不起作用的问题
场景:Controller类接口,需要提前校验传递的参数的正确性,通常我们会加上注解 @Validated @Valid来校验参数,比如校验非空、数据格式等,例如:校验的实体:@Datapublic class TestValidVO { private String id; @NotBlank(message = "姓名不能为空") private String name; @Size(min = 7,max = 11,message = "电话号码格原创 2020-11-12 15:06:06 · 72399 阅读 · 22 评论 -
扫二维码访问网站、网页
生活中时常会有这种情形,扫码登陆,扫码注册,扫码访问某网页等。其实其中的原理就是,这个二维码中包含了你要访问的地址的url,扫码可以解析其中的url从而进行访问。下面以springboot项目来实现,通过扫二维码访问我的博客首页。引入谷歌二维码生成器jar包: <dependency> <groupId>com.google.zxing</groupId> <artifactId>ja原创 2020-05-18 21:58:00 · 58340 阅读 · 3 评论 -
hashcode源码解析
hashcode源码:源码解析:hash 默认为 0,value为hashcode对象的char[]类型由第1456行可以得出,hashcode的计算公式为:s[0]*31^(n-1) + s[1]*31^(n-2) + ... + s[n-1] 其中s[0]、s[1]为对应的ASCII码。计算公式对应第1470-1472行的for循环。参照源码,我们可以自己编写代码实现h...原创 2020-04-22 21:55:25 · 704 阅读 · 0 评论 -
定时随机访问博客
目录需求描述:逻辑:实现:效果展示:需求描述:有几个网站url,定时、随机访问这些url。逻辑:定时任务--》组装需要访问的url集合--》实现随机获取其中的一个url--》http访问此url--》随机睡眠几秒实现:import lombok.extern.slf4j.Slf4j;import org.springframework.schedu...原创 2020-04-21 22:19:33 · 228 阅读 · 0 评论 -
切面 Aspect ProceedingJoinPoint 获取当前类、方法等属性API
切面配置类,获取切面上的各种属性:示例@Aspect@Componentpublic class ProceedingJoinPointDemo { @Pointcut("execution(public * com.demo.controller.*.*.*(..))") public void allControllerMethod() { } ...原创 2020-04-16 11:08:24 · 65984 阅读 · 0 评论 -
tk.mybatis 插入数据后获取id
适用于id为自增主键插入数据,获取id实现: YjIssueFile yjIssueFile = new YjIssueFile(); yjIssueFile.setFileName(saveFileName); yjIssueFile.setFinaPath(saveFilePath);...原创 2020-04-07 15:43:59 · 3012 阅读 · 0 评论 -
反射
1、反射获取类对象的三种方式2、反射获取类字段3、反射获取类方法、注解示例:public class ReflectClass { private String a = "11"; private int w = 11; private String getA(int b) { return b+"3"; } @Requ...原创 2020-04-04 22:52:32 · 114 阅读 · 0 评论 -
File操作
判断文件夹是否存在,不存在则创建:String file = "D:/a";File dir = new File(saveFilePath); if (!dir.isDirectory()) { dir.mkdir(); }判断文件是否存在,不存在则创建:File file = new File("G:\\Jeff...原创 2020-04-03 16:54:43 · 148 阅读 · 0 评论 -
tk.mybatis 分表 实现数据库增删改查
需求描述:根据外部动态pid数据,动态获取各个pid所属的表,如 pid 为1 则查询的表为 table_1。具体实现:1、建立两个测试表 test_1、test_2DROP TABLE IF EXISTS `test_1`;CREATE TABLE `test_1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name...原创 2020-03-02 19:14:09 · 33161 阅读 · 0 评论 -
mybatis、mybatis-plus、ibatis注解使用对比
mybatis操作数据的实现方式主要分为三种1、通过原生的方式配置xml操作数据2、通过继承mapper接口操作数据,mapper接口操作数据有多种方式,如 tk.mybatis、mybatis-plus,本文使用mybatis-plus3、通过注解方式操作数据,例如使用 @SelectProvider注解动态拼装sql查询数据,适用于复杂的sql查询以下示例三种实现方式,以spr...原创 2019-12-06 10:31:35 · 41392 阅读 · 2 评论 -
@SelectProvider如何使用
以mybatis为例mapper层mapper文件中写入@SelectProvider注解方法public interface AuditResultMapper extends Mapper<AuditResult> { @SelectProvider(type = SqlProvider.class, method = "getDataSql") L...原创 2019-11-28 10:33:23 · 890 阅读 · 0 评论 -
The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone
驱动,com.mysql.cj.jdbc.Driver 连接数据库,启动项目控制台报错:java.sql.SQLException: The server time zone value '�й���ʱ��' is unrecognized or represents more than one time zone解决方法:url连接加上 serverTimezone=CTT...原创 2019-11-05 11:42:58 · 160 阅读 · 0 评论 -
mybatis学习,简单实例
因为工作中所使用的开发框架都是ssh,很长时间没有使用ssh框架之外的框架,最近温习了一下mybatis,废话不多说,直接上实例。1、首先建立java web项目2、导入开发所需jar包,jar包可以去mybatis官网下载,mybatis官网jar包下载步骤3、创建测试表,下面是我的表结构。4、创建配置文件jdbc配置文件:##mysqljdbc.driverClassName=com.mys...原创 2018-03-15 18:23:33 · 273 阅读 · 0 评论 -
spring学习----IOC注入,实例
在我们平常的开发之中,往往一个类要依赖其他的类来完成某个操作,这个时候我们会将我们需要的类new出来,然后调用他的方法执行操作,这就使得类之间的依赖性变大,代码的耦合性增强。不利于项目的维护。因此,spring ioc 应运而生。spring是如何执行依赖注入的,下面是一个例子。新建java web项目,结构如下导入jar包,需要的jar包有 log jar包,spring相关jar包 sp...原创 2018-03-16 15:26:39 · 178 阅读 · 0 评论 -
多线程模拟卖火车票
建立售卖线程类:public class TicketRunnable implements Runnable { private int ticketCount = 10;//模拟火车票数量 public void run() { while (true) { synchronized (this) {//线程加锁 ...原创 2019-03-25 22:53:24 · 622 阅读 · 0 评论 -
父子类中静态方法、构造代码块、构造方法的执行顺序
面试中做笔试题经常会考察父子类中各种方法的执行顺序,示例是其中一个面试题:public class A { public int i = method(); public static int j = method2(); public int k = 0; public A() { System.out.println(1); } private int method()...原创 2019-03-26 00:15:57 · 1466 阅读 · 0 评论 -
算法逻辑题
目录统计一个txt文本文件中字母和数字的数量获取数值数组中第二大的数的索引值,例如:数值数组为 {2,5,8,8,3,7,9,4,1,6,9}, 结果为 2两个有序数据合并排序统计一个txt文本文件中字母和数字的数量思路:1、按行读取这个文件 2、遍历每一行数据 3、将一行的数据的每一个数据转换为char类型 ...原创 2019-04-06 16:28:51 · 884 阅读 · 1 评论 -
- Element type "beans" must be followed by either attribute specifications, ">"
如图,我们在配置spring文件的时候会出现标题的错误,这个时候,在保证beans标签格式书写正确的前提下,若是还是出现错误,我们就要检查一下上图标注的位置每一行的末尾有没有回车的空格,具体操作如下图,在标记处按回车,直至错误消失:...原创 2019-03-28 11:04:37 · 1487 阅读 · 0 评论 -
we failed to succeed more than the maximum number of allowed acquisition attempts (2). Last acquisit
jdbc 连接数据库出现错误:we failed to succeed more than the maximum number of allowed acquisition attempts (2). Last acquisition attempt exception: java.sql.SQLException: Access denied for user XXXXXX(using ...原创 2019-03-28 22:24:47 · 8785 阅读 · 5 评论 -
springcloud 微服务搭建 服务发现+断路器+服务配置(eureka+hystrix+config)
1、结构概述本文包含4个springboot服务,A.服务注册中心,B.被发现和被调用服务,C.接口服务 ,D. client服务;C服务调用B 服务,并且C 服务对外提供接口供D 服务使用注意:示例只提供基本的逻辑,不做业务处理。各个服务结构图如下:服务A:pom文件:<properties> <java.version&g...原创 2019-04-26 14:19:03 · 58096 阅读 · 0 评论 -
TemplateInputException: Error resolving template [/tw/order/publish/user_detail], template might
错误信息使用Windows系统开发好代码,将服务部署到Linux系统,测试功能出现下面的错误:Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.thymele...原创 2019-06-19 10:18:47 · 48198 阅读 · 3 评论 -
springboot整合Mail,实现发送邮件功能
实现邮件发送功能步骤:建立springboot项目 ---> 申请qq邮箱授权码 ---> 配置文件 ---> 代码实现目录一、新建springboot服务二、申请qq邮箱授权码三、application.yml 文件配置四、实现五、单元测试一、新建springboot服务添加依赖包: <!-- mail -->...原创 2019-06-10 17:29:28 · 1479 阅读 · 1 评论 -
工作问题、笔记
目录统计百分比,小数点后保留两位数:layui 设置时间插件只选择年月统计某种类型的数量,默认查询当月的数量layui增加一行统计数据:在table render中增加parseData 方法点击图片,图片旋转,自定义旋转角度mybatis 大于、小于、大于等于、小于等于mybatis-plus 配置控制台打印执行sqlidea 配置类注释方法注释配置spri...原创 2019-07-22 22:12:28 · 1338 阅读 · 1 评论 -
jsp返回上一个页面并刷新
在jsp中有时候我们需要返回到上一个页面,将上一个页面的数据进行刷新。此情况用于:当返回页面之前,上一个页面的数据已经进行了增、删、改操作。有一种方法是 onclick="location.href='javascript:history.go(-1);'" ,这种只是返回到上一个页面,并不会对页面的数据进行更新。若要返回到上一个页面并更新页面: 在jsp原创 2017-01-06 10:30:08 · 12448 阅读 · 3 评论