平时开发时候有一些静态的工具方法,调用的时候比较方便,但是有时候,一些工具方法需要传入一些配置文件里面的参数(如果是用springboot那就调用application.yml里的参数) 我们可以这样改造 工具方法加@Component注解; 需要引入的配置参数,用@Value注解引入; 一些初始化的配置,使用@PostConstruct注解进行初始化; 以阿里云的短信发送为例,示例代码如下(我把初始化com.aliyun.dysmsapi20170525.Client作为static静态变量,放在PostCons…

2022-02-16 0条评论 748点热度 0人点赞 admin 阅读全文

需要select某个表,随机获取多条记录 利用rand()函数,hibernate会根据数据库不同(例如spring.jpa.properties.dialect,MySQL是org.hibernate.dialect.MySQLDialect,Oracle是org.hibernate.dialect.Oracle10gDialect),生成相应数据库的SQL /** * 返回随机选择的size个记录 */ public List<Student> listStudents(int size) { St…

2022-02-12 0条评论 677点热度 0人点赞 admin 阅读全文

例如今天是2022年2月9日 星期四,要求得到今天这个周的周开始(应该是2022年2月7日 周一,当然如果定义周开始从周日开始,就是2022年2月6日 周日),得到今天这个周的周末(应该是2022年2月13日 周日,当然如果定义周结束从周六,就是2022年2月12日 周六) 初步一看,难度应该并不是特别难,但感觉总是不好实现(或者要判断很多) Java8开始有一个简单而且优雅的方式,可以方便实现这个功能: java.time.temporal.TemporalAdjusters的previousOrSame/nex…

2022-02-10 0条评论 845点热度 0人点赞 admin 阅读全文

今天遇到一个问题,在使用图形相关的功能时候,例如java.awt.Font的时候,在OracleJDK11的服务器上报错,如下: org.springframework.web.util.NestedServletException: Handler dispatch failed; nested exception is java.lang.InternalError: java.lang.reflect.InvocationTargetException at org.springframework.web.s…

2022-02-07 0条评论 855点热度 0人点赞 admin 阅读全文

前面的文章有介绍如何在SpringBoot整合MVC,详见:https://blog.terrynow.com/2021/07/07/springboot-mvc-jsp-and-jstl-implment/ 不过发现一个问题,就是每次SpringBoot程序重新启动后,当前登录的session就失效了,解决方案如下: 配置文件做如下修改(增加server.servlet.session.persistent=true): application.properties server.servlet.session.…

2022-02-02 0条评论 944点热度 0人点赞 admin 阅读全文

如题,工具方法,项目中用到的字符命名方式需要互转,不依赖任何第三方库,不挑JDK版本,复制粘贴即可用 下划线命名方式:some_name 驼峰命名方式:someName public static void main(String[] args) throws Exception { System.out.println(underscoreToCamel("some_key")); System.out.println(camelToUnderline("someKey")); } /** * 下划线命名转驼峰方…

2022-01-29 0条评论 810点热度 0人点赞 admin 阅读全文

一个简单的单体应用,需要一个类似Redis的带过期时间的缓存方案,不想增加系统依赖度而安装一个Redis服务,希望引入一个jar或者pom而实现这个类似Redis的功能。 考虑使用Java内置缓存方案 ExpiringMap https://github.com/jhalterman/expiringmap Google Guava Cache https://github.com/google/guava/wiki/CachesExplained 考虑到Guava依赖包有点多(会依赖),暂时部署不方便,如图,实际…

2022-01-22 0条评论 947点热度 0人点赞 admin 阅读全文

之前的文章,写了一个Java(SpringBoot)的WebSocket服务器端,详见:https://blog.terrynow.com/2022/01/11/java-springboot-implement-websocket-server-sample-codes-manage-sessions-send-messages-inject-services/ 如果要使用Java作为客户端去连那个服务器端,要怎么做呢? 可以使用OKHttp来做,简单几行代码就搞定。 Maven pom.xml引入: <d…

2022-01-19 0条评论 1188点热度 0人点赞 admin 阅读全文

本文分享我在SpringBoot下使用websocket的示例代码,可管理每个客户端的session,给不同的客户端收发信息,可管理心跳时间,以及注入service,方便业务逻辑的调用。 pom.xml <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-websocket</artifactId> </dependency&…

2022-01-11 0条评论 694点热度 0人点赞 admin 阅读全文

可作为工具方法,使用Java的正则表达式来判断一个给定的字符串是否存在空白(这个空白可能是空格也可能是Tab,也可能是多个这样的空格或者Tab),正则表达式是:^(.*\s+.*)+$,代码如下: // 检查给定的字符串是否包含空白(一个或者多个空格或者Tab) public static boolean containsWhitespace(String s) { Pattern p = Pattern.compile("^(.*\\s+.*)+$"); Matcher m = p.matcher(s); ret…

2022-01-10 0条评论 957点热度 0人点赞 admin 阅读全文
1789101121