server:
- port: 18080
spring
- servlet:
- multipart://文件大小
- max-file-size: 30MB
- max-request-size: 30MB
- multipart://文件大小
- datasource
- driver-class-name
- url
- username:
- password:
- application
- cloud
- nacos
- discovery: # springCloud的注册中心nacos
- server-addr
- discovery: # springCloud的注册中心nacos
- nacos
- profiles:
- active: dubbo,mapper # 启动时,加载dubbo和mapper的配置文件
- data:
- mongodb:
- uri: mongodb://192.168.136.160:27017/tanhua mybatis-plus
- mongodb:
- 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,方法调用吼清空缓存 |