├─microblog 父工程
├─── config-repo 配置中心配置文件
├─── FrontEnd 前端项目文件,nginx 配置文件
├─── img README.md文件所用图片
├─── microblog-blog 网关应用
├─── blog-dao
├─── blog-service
├─── blog-web
├─── microblog-common 公共实现类,配置为SpringBoot-starter
├─── microblog-chat 私信应用
├─── microblog-config 配置中心应用
├─── microblog-gateway 网关应用
├─── microblog-gateway-controller 网关控制层
├─── microblog-gateway-service 网关服务层
├─── microblog-gateway-dao 网关数据层
├─── microblog-log 日志模块
├─── microblog-msg 邮件和短信处理应用
├─── microblog-points 积分应用
├─── microblog-points-dao
├─── microblog-points-service
├─── microblog-points-web
├─── microblog-scheduler 任务调度应用
├─── microblog-scheduler-dao
├─── microblog-scheduler-service
├─── microblog-scheduler-web
├─── microblog-search 搜索应用
├─── microblog-support spring cloud 配套服务
├─── microblog-hystrix hystrix 监控应用
├─── microblog-sleuth
├─── microblog-admin 监控
├─── microblog-center 注册中心应用 port: 8001
├─── zipkin-server zipkin 监控
├─── mysql 数据库文件
├─── all 整个工程的sql文件
├─── microblog-sql-all-xxxx-xx-xx-xx:xx:xx.sql
├─── blog.sql 微博相关的sql
├─── job.sql 定时任务
├─── points.sql 积分应用
├─── quartz.sql quartz本身的sql
├─── user.sql 用户相关
├─── 项目的一些启动脚本
├─── github 上传脚本
├─── micro-blog 设计图.jpg
- 开发环境: IDEA
- 项目构建: Maven
- 前端开发工具: Brackets
- 版本管理: Git
- 思维导图软件: MindMaster
- 核心框架: Spring ,Spring MVC, Spring Boot, Spring Cloud
- 持久层: Mybatis
- 数据库: MySQL
- 数据库连接池: Druid
- 缓存: Redis
- 分布式锁: Redisson
- 反向代理服务器: Nginx
- 认证方式: JWT
- 网络通信: Netty
- 消息中间件: RocketMQ
- 搜索:elasticsearch
- 日志: Logback
- 日志聚合: Kafka + Logstash + elasticsearch + Kibana
- 前端:Html,Javascript,css,jquery
整个系统中,有些url是不需要用户登录就可以访问的,有些是需要登录之后才能访问,因此需要进行路径拦截校验是否需要登录。
-
安装Redis并启动
-
安装Mysql并启动,导入sql文件
-
安装RabbitMQ并启动
-
安装elasticsearch并启动
-
安装nginx,配置文件,并启动
-
配置
6.1 配置Mysql用户名和密码
6.2 配置Redis用户名和密码
6.3 配置RabbitMq
6.4 配置elasticsearch
6.5 配置nginx
-
启动项目
-
访问路径
每次git提交时都会执行数据库备份操作,备份类位于数据库备份类。 备份的文件存放于数据库备份文件 目录:mysql/all,最新日期为最新的操作,文件名称(xxx/mysql/all/microblog-sql-all-2019-03-30-16:22:33.sql)。 工程目录:mysql 存放各个模块的sql文件
请选择日期最新备份文件进行数据库导入操作。
mysql -uroot -p
mysql> create database microblog
mysql> use microblog
//xxx/mysql/all/microblog-sql-all-2019-03-30-16:22:33.sql 为备份文件本身的目录
mysql> source xxx/mysql/all/microblog-sql-all-2019-03-30-16:22:33.sql
- 使用AOP实现
- 切面类定义
- 如何使用:
1.引入pom
<dependency>
<groupId>com.microblog</groupId>
<artifactId>microblog-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
<scope>compile</scope>
</dependency>
2.application.yml配置
microblog:
common:
# 使能打印访问Url,在Controller方法上添加注解@PrintUrlAnno
printUrlEnable: true
# 使能打印方法执行耗时,在方法上添加注解@PrintUseTimeAnno
printUseTimeEnable: true
3.Controller方法上使用
@PrintUrlAnno
@PostMapping("/login")
public BaseResult login(@RequestBody Map<String, Object> requestMap){
}
4.输出
访问 com.microblog.chat.controller.UserController method = login 路径 = /user/login 描述:
- 获取方法执行时间: @PrintUseTimeAspect