## 简介
基于Springboot框架实现了一个可以交互的blog网站,前端界面利用Vuejs和ElementUI。应用Redis缓存和用Redis实现一个异步消息队列,项目主要用于学习springboot、redis、mysql实践。
## 项目结构
```
├── back-end -- 后端
| └── blog -- 后端客户系统
| ├── src
| | ├── main
| | | ├── java-cn-edu-seu-wh-blog
| | | | ├── aspect -- 日志切面
| | | | ├── async -- 异步消息队列
| | | | ├── configuration -- 配置类
| | | | ├── controller -- 控制层
| | | | ├── dao -- dao层
| | | | ├── interceptor -- 拦截器配置
| | | | ├── jedis -- jedis配置
| | | | ├── mapper -- mapper接口
| | | | ├── model -- model层
| | | | ├── result -- 返回前端数据封装
| | | | ├── service --service层
| | | | └── utils --常用工具类
| | | └── resources -- 配置文件和一些静态资源
| | └── test
| └── target
├── front-end -- 前端
| └── blogapp -- 前端用户界面
| ├── build
| ├── config
| ├── dist
| ├── node_modules
| ├── src
| | ├── api -- 接口
| | ├── assets -- 静态文件
| | ├── components -- 组件
| | | ├── common -- 常用组件
| | | | ├── carousel
| | | | ├── markdown --markdown组件
| | | | ├── mssage -- 消息组件
| | | | └── scrollPage -- 分页组件
| | | ├── userinfo -- 用户信息组件
| | | ├── userinfonew
| | | └── view -- 视图
| | ├── request -- 请求配置
| | ├── router
| | ├── store
| | └── util
| ├── static
| └── test
└── resources -- 资源文件
```
## 技术栈
### 后端技术
技术 | 说明 | 地址
----|----|----
Spring Boot | 新一代 JavaEE 开发标准 | [GitHub](https://github.com/spring-projects/spring-boot)
Spring Cloud Alibaba | 阿里巴巴基于 Spring Cloud 编程模型的微服务生态 | [GitHub](https://github.com/alibaba/spring-cloud-alibaba)
Spring Cloud Alibaba Dubbo | 与 Spring Cloud Alibaba 生态相结合的高性能 Java RPC 框架 | [GitHub](https://github.com/apache/dubbo)
Spring Cloud Alibaba RocketMQ | 分布式消息系统 | [GitHub](https://github.com/alibaba/spring-cloud-alibaba/blob/master/spring-cloud-alibaba-examples/rocketmq-example/readme.md)
Spring Security oAuth2 | 安全认证和授权框架 | [GitHub](https://github.com/spring-projects/spring-security-oauth)
Spring Social | 第三方登录接入框架 | [GitHub](https://github.com/spring-projects/spring-social)
TkMyBatis | 基于 MyBatis 二次开发的轻量级框架,用于简化 MyBatis 操作 | [GitHub](https://github.com/abel533/Mapper)
MyBatisGenerator | Maven 插件,用于 MyBatis 相关代码生成 | [官网](http://www.mybatis.org/generator/)
MybatisCodeHelper | Intellij IDEA 插件,用于 MyBatis 相关代码生成 | [官网](https://plugins.jetbrains.com/plugin/9837-mybatiscodehelperpro)
PageHelper | MyBatis 分页插件 | [GitHub](https://github.com/pagehelper/Mybatis-PageHelper)
Swagger | API 文档生成工具 | [GitHub](https://github.com/swagger-api/swagger-ui)
HikariCP | 数据库连接池 | [GitHub](https://github.com/brettwooldridge/HikariCP)
Docker | 容器化引擎 | [官网](https://www.docker.com/)
Docker Compose | 容器编排工具 | [官网](https://docs.docker.com/compose/)
Mysql | 关系型数据库 | [官网](https://www.mysql.com/cn/)
Redis | 非关系型数据库 | [官网](https://redis.io/)
Nginx | 高性能的HTTP和反向代理web服务器 | [官网](https://www.nginx.com/)
### 前端技术
技术 | 说明 | 地址
----|----|----
Vue | 前端框架,MVVM 模式的实现者 | [GitHub](https://github.com/vuejs/vue)
Vue CLI | Vue 脚手架,基于 NodeJS | [GitHub](https://github.com/vuejs/vue-cli)
Vue Router | Vue 路由框架 | [GitHub](https://github.com/vuejs/vue-router)
Vuex | Vue 全局状态管理框架 | [GitHub](https://github.com/vuejs/vuex)
Axios | 前端 HTTP 框架 | [GitHub](https://github.com/axios/axios)
Element UI | 饿了么 UI 框架 | [官网](https://element.eleme.cn)
Vue Element Admin | 基于 Element UI 的前端后台解决方案 | [GitHub](https://github.com/PanJiaChen/vue-element-admin)
Vue Image Crop Upload | Vue 图片剪裁上传组件 | [GitHub](https://github.com/dai-siki/vue-image-crop-upload)
## 框架集成
集成 | 完成
----|----
Spring Boot | ✔
Spring Cloud Alibaba | ✔
Spring Cloud Alibaba Dubbo | ✔
Spring Cloud Alibaba Sentinel | ✔
Spring Security oAuth2 | ✔
TkMyBatis | ✔
HikariCP | ✔
OKHttp3 | ✔
Feign 传递 Token | ✔
## 配置项以及如何启动
### nacos注册中心安装
```
git clone https://github.com/nacos-group/nacos-docker.git
cd nacos-docker
```
将`/resources`目录下的`standalone-mysql.yaml`替换`nacos-docker/example/standalone-mysql.yaml`。
```
# 单机模式运行
docker-compose -f example/standalone-mysql.yaml up -d
docker-compose -f example/standalone-mysql.yaml logs -f
```
192.168.132.130:8848/nacos account/pass:nacos/nacos
**注意:`standalone-mysql.yaml`修改端口防止端口冲突.**
### 基于docker-compose启动
首先在idea中package springboot项目,然后复制对应jar包到`/resources/docker-compose`目录下,参考ftp-service,进行springboot容器化部署.
```
cd /resources/docker-compose
docker-compose -f docker-compose.yml up -d
```
### Redis安装
```bash
# 运行服务
docker run -it --name redis -v /root/wanghuan/docker/redis/cfg/redis.conf:/usr/local/etc/redis/redis.conf -v /root/wanghuan/docker/redis/data:/data -d -p 6379:6379 redis:latest /bin/bash
# 进入容器
docker exec -it redis bash
# 加载配置
redis-server /usr/local/etc/redis/redis.conf
# 测试连接
redis-cli -a wanghuan
```
> 上述redis.conf文件在resource目录下。
> tips: redis desktop manager for free: https://github.com/qishibo/AnotherRedisDesktopManager/
### Mysql安装
```bash
# pull image
docker pull mysql:latest
# run
docker run --name mysql-mstc -v /root/wanghuan/docker/mysql/data:/data -e MYSQL_ROOT_PASSWORD=123456 -d -i -p 3306:3306 --restart=always mysql:latest
# 导出sql文件
mysqldump -u root -p seumstc > F:/seumstc.sql
# docker容器内导入sql文件
# 进入docker容器
docker exec -it mysql-mstc bash
# 连接mysql
mysql -u root -p
# 新建数据库
create database seumstc;
use seumstc;
# 导入sql文件
source /data/seumstc.sql;
```
> 上述seumstc.sql文件在resource目录下
> 解决mysql Client does not support authentication protocol requested by server; consider upgrading MySQL错误
```sql
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';
SELECT plugin FROM mysql.user WHERE User = 'root';
```
### 前端启动
```bash
cd front-end/blogapp
npm i
npm run dev
```
## 技术难点总结
### springboot拦截器配置
### 日志切面配置
### 应用redis作缓存
### 利用redis实现异步消息队列
### 根据功能划分服务
### 利用FeignClient实现RPC通信
### 容器化运行项目
### 负载均衡
## 一些开发中的坑
### feign实现multipartfile上传时出现no multipart boundary was found 问题
在service-provider端重写`RequestInterceptor`中`apply()`方法,添加boundary.
```java
public class MyRequestInterceptor implements RequestInterceptor {
@Override
public void apply(RequestTemplate requestTemplate) {
Map<String, Collection<String>> map = req
没有合适的资源?快使用搜索试试~ 我知道了~
java毕业设计 基于SpringCloud+Vue的前后端分离实现微服务的Blog网站源码+详细文档+全部资料(优秀项目)
共306个文件
java:91个
css:79个
js:31个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
0 下载量 40 浏览量
2024-04-16
14:08:09
上传
评论
收藏 31.51MB ZIP 举报
温馨提示
【资源说明】 java毕业设计 基于SpringCloud+Vue的前后端分离实现微服务的Blog网站源码+详细文档+全部资料(优秀项目)java毕业设计 基于SpringCloud+Vue的前后端分离实现微服务的Blog网站源码+详细文档+全部资料(优秀项目) 【备注】 1、该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的,请放心下载使用! 2、本项目适合计算机相关专业(如软件工程、计科、人工智能、通信工程、自动化、电子信息等)的在校学生、老师或者企业员工下载使用,也可作为毕设项目、课程设计、作业、项目初期立项演示等,当然也适合小白学习进阶。 3、如果基础还行,可以在此代码基础上进行修改,以实现其他功能,也可直接用于毕设、课设、作业等。 欢迎下载,沟通交流,互相学习,共同进步!
资源推荐
资源详情
资源评论
收起资源包目录
java毕业设计 基于SpringCloud+Vue的前后端分离实现微服务的Blog网站源码+详细文档+全部资料(优秀项目) (306个子文件)
.babelrc 198B
mvnw.cmd 6KB
redis.conf 61KB
redis.conf 61KB
nginx.conf 6KB
fdfs_client.conf 177B
my.conf 146B
index.css 186KB
date-picker.css 26KB
transfer.css 25KB
col.css 24KB
message-box.css 20KB
pagination.css 18KB
time-picker.css 18KB
table.css 17KB
slider.css 16KB
select.css 14KB
dropdown.css 14KB
tabs.css 13KB
time-select.css 13KB
upload.css 12KB
button.css 10KB
table-column.css 10KB
cascader.css 10KB
autocomplete.css 9KB
input-number.css 9KB
demo.css 8KB
base.css 8KB
checkbox.css 7KB
color-picker.css 6KB
demo.css 6KB
input.css 5KB
step.css 5KB
menu.css 5KB
iconfont.css 4KB
icon.css 4KB
radio.css 3KB
select-dropdown.css 3KB
form.css 3KB
dialog.css 3KB
tooltip.css 3KB
radio-button.css 2KB
carousel.css 2KB
popover.css 2KB
tag.css 2KB
iconfont.css 2KB
message.css 2KB
progress.css 2KB
switch.css 2KB
loading.css 2KB
notification.css 2KB
popper.css 2KB
tree.css 2KB
alert.css 1KB
collapse.css 1KB
carousel-item.css 1024B
scrollbar.css 1023B
display.css 982B
breadcrumb.css 936B
spinner.css 883B
row.css 870B
reset.css 797B
option.css 591B
badge.css 570B
rate.css 550B
option-group.css 478B
container.css 400B
card.css 337B
steps.css 302B
main.css 125B
radio-group.css 85B
footer.css 78B
header.css 78B
aside.css 76B
menu-item.css 0B
breadcrumb-item.css 0B
button-group.css 0B
submenu.css 0B
menu-item-group.css 0B
tab-pane.css 0B
checkbox-button.css 0B
checkbox-group.css 0B
dropdown-menu.css 0B
dropdown-item.css 0B
collapse-item.css 0B
form-item.css 0B
Dockerfile 457B
Dockerfile 301B
Dockerfile 50B
Dockerfile 50B
.editorconfig 147B
iconfont.eot 4KB
iconfont.eot 2KB
.eslintignore 51B
.gitignore 595B
.gitignore 289B
.gitignore 222B
.gitkeep 0B
demo_index.html 8KB
demo_symbol.html 5KB
共 306 条
- 1
- 2
- 3
- 4
资源评论
不走小道
- 粉丝: 3234
- 资源: 5113
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功