图平台技术点

一、编码规范

1、基于Optional的空值优雅处理:是时候优雅的和NullPointException说再见了

 

二、数据库访问

1、JPA   

     官方文档:JPA Query Methods

       jpa sql日志(验证失败,待排查)

spring.jpa.show-sql=true
logging.level.org.hibernate.SQL=debug logging.level.org.hibernate.type.descriptor.sql.BasicBinder=trace

2、QueryDSL

      1)APT机制:聊聊如何运用JAVA注解处理器(APT)

      2)QueryDSL:QueryDSL——比SpringData JPA更面向对象

                              SpringBoot环境下QueryDSL-JPA的入门及进阶

 

三、springboot

1、核心机制

      SpringBoot核心机制解读系列三、ApplicationListener

2、定时调度

     1)基于@Scheduled:SpringBoot实现固定、动态定时任务   https://juejin.cn/post/7013234573823705102

     2)基于@Scheduled:设置线程池   https://www.cnblogs.com/coderacademy/p/18058208

     3)基于quartz:  https://cloud.tencent.com/developer/article/1640190

3、CommandLineRunner  与 ApplicationRunner

      SpringBoot2.x基础篇:使用CommandLineRunner或ApplicationRunner

4、事务提交或回滚后执行后续动作    https://developer.aliyun.com/article/1047724

      spring中事务执行完成后/回滚后执行

5、从上下文获取 HttpServletRequest

    public static HttpServletRequest getCurrentRequest() {
        RequestAttributes requestAttributes = RequestContextHolder.getRequestAttributes();
        if (requestAttributes == null) {
            return null;
        }
        ServletRequestAttributes servletRequestAttributes = (ServletRequestAttributes) requestAttributes;
        return servletRequestAttributes.getRequest();
    }

 6、Intercepter使用ant路径语法(/**/test/**)需要实例化:AntPathMatcher,否则excludePathPatterns只能匹配绝对路径(路径不需要上下文)

@Configuration
public class ServerConfiguration implements WebMvcConfigurer {

    @Bean
    public AuthInterceptor authInterceptor() {
        return new AuthInterceptor();
    }

    @Bean
    public AntPathMatcher patternMatcher() {
        return new AntPathMatcher();
    }

    @Override
    public void addInterceptors(InterceptorRegistry registry) {

        registry.addInterceptor(authInterceptor())
                .addPathPatterns("/**")
                .excludePathPatterns(
                        "/health",
                        "/**/test/**"
                );
    }

}

 

 

四、springcloud gateway

1、过滤器

 

五、Guava

1、图

  Google Guava中的Graph图形计算入门

       简单图算法类:com.google.common.graph.Graphs

2、缓存

     Java开发利器Guava Cache之使用篇

 

 

六、多数据源

一、gds

1)定义接口类

 

二、es

 

七、其他

1、文件

     1)目录分隔符: java.io.File.separator

      2)临时目录:org.apache.commons.io.FileUtils.getTempDirectoryPath()

2、shiro

      官网:  https://shiro.apache.org/reference.html

      分布式session方案1: spring boot shiro+session+redis 实现登录会话、会话保持、分布式session共享

      分布式session方案2: SHIRO-REDIS

  分布式session方案3: EnterpriseCacheSessionDAO

 3、openfeign

       官网: Spring Cloud OpenFeign

       其他: SpringCloud OpenFeign 全功能配置详解(一文吃透OpenFeign)

4、elasticsearch       RestHighLevelClient

5、cypher过滤规则与拼接

     Filters & LogicFilter & FieldFilter

     GraphCypherBuilder

 

     

posted @ 2024-06-05 12:04  Matt_Cheng  阅读(12)  评论(0编辑  收藏  举报