笔记

134 阅读2分钟

server:

  • port: 18080

spring

  • servlet:
    • multipart://文件大小
      • max-file-size: 30MB
      • max-request-size: 30MB
  • datasource
    • driver-class-name
    • url
    • username:
    • password:
  • application
  • cloud
    • nacos
      • discovery: # springCloud的注册中心nacos
        • server-addr
  • profiles:
    • active: dubbo,mapper # 启动时,加载dubbo和mapper的配置文件
  • data:
    • mongodb:
      • uri: mongodb://192.168.136.160:27017/tanhua mybatis-plus
  • global-config:
    • db-config:
    • table-prefix # 表名前缀
    • id-type: auto # id策略为mysql自增 dubbo:
    • protocol:
      • name: dubbo #底层rpc协议
      • port: 20881 #当前服务功能在springcloud注册中心的端口
    • registry:
      • address: spring-cloud://localhost
    • scan:
      • base-packages

自动配置类:

  • xxxConfiguration
    • @Conditional 自动启动条件
    • @EnableConfigurationProperties 读取配置

自定义拦截器要继承HandlerInterceptor接口 把拦截器加进去

@Configuration
public class WebConfig implements WebMvcConfigurer {
    @Autowired
    private TokenInterceptor tokenInterceptor;

    @Override
    public void addInterceptors(InterceptorRegistry registry) {
        registry.addInterceptor(tokenInterceptor)
                .addPathPatterns("/**")
                .excludePathPatterns("/user/login","/user/loginVerification");
    }
}

异常捕获处理

@ControllerAdvice
public class GlobalExceptionAdvice {

    @ExceptionHandler(Exception.class)
    public ResponseEntity ExceptionHandler(Exception ex){
        return ResponseEntity.status(500).body("系统错误");
    }
}

ThreadLocal的key是当前线程

request.GetHeader获取请求头信息

mybatisplus

  • @TableId(type = IdType.INPUT) //取消主键自增 启动自己设值(user.id)
@Bean  //开启mybatis-plus的分页插件(启动类上)
public PaginationInterceptor paginationInterceptor() {
    PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
    return paginationInterceptor;
}

mongodb

@Indexed  //给当前属性添加mongdb的索引
设置添加进的表名
mongoTemplate.insert(album,"quanzi_album_"+publish.getUserId());

stringRedisTemplate.hasKey("546545");//检查key是否存在,返回boolean值

StrUtil.format()//字符串拼接方法
String template = "{}爱{},就像老鼠爱大米";
String str = StrUtil.format(template, "我", "你"); //str -> 我爱你,就像老鼠爱大米
指定属性的值得变化
update.inc(comment.getCol(),1);

@Async:开启多线程,方法上用 @EnableAsync:开启多线程功能,启动类上用

FastDFS是用C语言编写的一款开源的分布式文件系统

FastDFS由客户端(Client)、 跟踪服务器(Tracker Server)和存储服务器(Storage Server)构成:

客户端(client)

  • 作为业务请求的发起方,通过专有接口,使用TCP/IP协议与跟踪器服务器或存储节点进行数据交互。

跟踪器(tracker)

  • 作用是负载均衡和调度,通过Tracker server在文件上传时可以根据一些策略找到 Storage server提供文件上传服务。可以将tracker称为追踪服务器或调度服务器。 跟踪器在访问上起负载均衡的作用。可以随时增加或下线而不会影响线上服务。

存储节点(storage)

  • 作用是文件存储,客户端上传的文件最终存储在Storage服务器上,Storage server没有 实现自己的文件系统而是利用操作系统的文件系统来管理文件。可以将storage称为存储服务器。 存储节点中的服务器均可以随时增加或下线而不会影响线上服务。

缓存注解

名称解释
@EnableCaching启动类开启基于注解的缓存
@Cacheable进行缓存
@CacheEvict清空缓存,allEntries = true,方法调用吼清空缓存