JAVA
旺枝
想要飞
展开
-
LRU 实现
package com.sf.test;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;public class LruCache<V> { /** * 容量 */ private int capacity = 1024; /** * node 记录表 */ private Map<String, ListNode<.转载 2021-04-19 14:33:39 · 172 阅读 · 1 评论 -
Redisson 分布式锁实现和部分源码解析
一、关于 Redisson基于java框架netty进行扩展了的redis客户端实现了分布式和可拓展的数据结构API是线程安全的,所以可以操作单个Redisson连接来完成各种操作加锁逻辑都是通过lua脚本来完成的,lua脚本执行能够保证原子性, 锁为可重入锁二、使用1. Spring Boot 引入依赖 <!-- redis --> <dependency> <groupId>org.springframework.boot</grou原创 2020-12-08 13:44:18 · 207 阅读 · 0 评论 -
Spring Security 启用 CAS 配置
一、启用Cas支持包 <!-- security 对CAS支持 --> <dependency> <groupId>org.springframework.security</groupId> <artifactId>spring-security-cas</artifactId> </dependency>二、yml进行自定义cas参数配置#cas相关cas: enabled: true原创 2020-12-01 14:21:19 · 3297 阅读 · 0 评论 -
CompleteableFutrue 实现多线程返回不阻塞
一、用线程池的时候用Future来接收实现了Callable的线程实现类的返回值,应用如下 /** * 下单线程实现类 */ class OrderCallable implements Callable<List<OrderInfo>> { private List<OrderInfo> orderInfos; private UserDTO user; OrderCallab原创 2020-08-25 16:31:54 · 2134 阅读 · 0 评论 -
Stream分组并且重新处理每个分组里面元素的详细信息
List<String> aa = CollUtil.newArrayList("a*4", "b*3", "a*2", "c*4"); Map<String, List<String>> aam = aa.stream().collect(Collectors.groupingBy(a -> { List<String> bb = StrUtil...原创 2020-06-12 14:57:20 · 875 阅读 · 0 评论 -
SpringBoot + Freemarker 进行前端模板加载
一、前言前后端分离的项目,打包编译前端文件后直接放到spring boot后台下使用二、引入 Freemarker 并且进行配置1. pom引入 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency>.原创 2020-06-11 15:35:42 · 1275 阅读 · 1 评论 -
JPA 用自定义实体接收查询返回
一、创建对应的实体@Datapublic class OrderStatusDTO implements Serializable { @ExcelProperty(value = "表头1", index = 0) private String area; @ExcelProperty(value = "表头2", index = 1) private String apar...原创 2020-04-17 11:01:47 · 1801 阅读 · 0 评论 -
Spring boot日志(转)
零、Slf4j与Logback组合使用, 两者同时输出一、application.yml配置(Sl4j)logging: level: #不同目录下的日志可配置不同级别 org.springfromework.web: INFO org.hibernate: ERROR #日志所在文件夹 path: logs/ #采用相对路径方式将日志文件输出到...原创 2019-07-12 17:18:54 · 151 阅读 · 0 评论 -
SpringBoot 统一异常处理
一、使用Spring MVC的@ControllerAdvice注解自定义异常处理,带@ControllerAdvice注释的类将协助所有已知的控制器。@RestControllerAdvicepublic class SFTExceptionHandler { private Logger logger = LoggerFactory.getLogger(getClass());...转载 2019-07-16 10:08:10 · 116 阅读 · 0 评论 -
Spring Security页面过滤和样式引用
一、Security Configure配置@Override protected void configure(HttpSecurity http) throws Exception { http.addFilterBefore(validateCodeFilter, UsernamePasswordAuthenticationFilter.class) // 添加验证码...转载 2019-08-15 11:08:37 · 725 阅读 · 0 评论 -
Spring Security登出Session失效
一、配置Session和自定义登出package com.sf.browser;import com.sf.config.MySessionExpiredStrategy;import com.sf.filter.ValidateCodeFilter;import com.sf.handler.MyAuthenticationFailureHandler;import com.sf...转载 2019-08-16 10:43:27 · 4595 阅读 · 3 评论 -
JAVA spring boot 定时器
1. 启动项增加 @EnableScheduling 注解,开启计划任务支持。2. 定时任务类增加以下注解:@Component (把类纳入进spring容器中管理) @EnableAsync @EnableScheduling。3. 定时任务方法增加定时触发注解://[秒] [分] [小时] [日] [月] [周] [年]@Scheduled(cron = "0 0 01 * *...原创 2019-04-24 18:12:03 · 267 阅读 · 0 评论