spring cloud开发CMS博客系统笔记第一篇

spring cloud开发CMS博客系统笔记第一篇


小五游侠 2016-12-15 10:55:00

主要功能设计

1.前台
  • 博客分类
  • 博客归档
  • 博客归档
  • 博客搜索
  • 博客详情
  • 博客评论(第三方评论)
  • 博客访问统计
2.后台
  • 博客发表(自动分类和归档)
  • markdown
  • 访问统计

参考项目:https://github.com/ccw55ccw/jpress

技术栈:Vue , spring cloud netflix , spring boot , openresty等

开发相关说明

后台模块

后台逻辑初步整理:https://www.processon.com/view/link/58522e08e4b07ab5f2c63292

1.管理员登陆

​ 1.1 确认后台模板

​ 模板选择:https://www.awesomes.cn/subject/admins

​ 1.2 代码热部署问题

​ 1.2.1 devtoos配置之后(recompile【Ctrl+Shift+F9】),当修改类文件后会自动重启项目。修改模板文件(thymeleaf),配置spring.thymeleaf.cache=falsespring.resources.cache-period=0 不起作用,得【Ctrl+F9】之后起效。

参考:https://www.oschina.net/question/779083_2148086

​ 1.3 spring security配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
@Configuration
@EnableWebSecurity
public class WebSecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/home").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/js/**", "/css/**", "/static/**", "/**/favicon.ico");
}
}

参考:https://vincentmi.gitbooks.io/spring-security-reference-zh/content/3.3_%20java_configuration_and_form_login.html

参考:http://emacoo.cn/backend/spring-boot-security/

​ 1.4 静态资源访问配置

1
2
3
4
5
6
7
8
9
10
@Configuration
@EnableWebMvc
@ComponentScan
public class WebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/static/**").addResourceLocations("classpath:/static/");
}
}

参考:http://blog.csdn.net/nisxiya/article/details/44937763

​ 1.5 架构分析

​ 1.5.1 前后端分离,前端使用openresty作为web服务器,后端有spring cloud提供服务.

搭建后端框架

(1) 集成spring cloud各个核心项目,eureka,config配置中心服务测试时使用docker运行,其中zookeeper和kafka运行在vps中

(2) 主要两个服务,user-service,blog-service

(3) 用户登录接口已完成

jpa文档参考:http://docs.spring.io/spring-data/jpa/docs/1.9.4.RELEASE/reference/html/

(4) 文章接口

搭建前端模板

(1) 部署项目,运行openresty,实现跨域请求

​ openresty基本命令:

启动

直接点击Nginx目录下的nginx.exe 或者 cmd运行start nginx

关闭

nginx -s stop 或者 nginx -s quit

stop表示立即停止nginx,不保存相关信息

quit表示正常退出nginx,并保存相关信息

重启(因为改变了配置,需要重启)

nginx -s reload

(2) 完成各个模块功能实现

​ 1.5 同步文件

​ 1.6 数据库层记录

2.管理员发表博文(初步确定为导入markdown文件生成html),自动分类与归档;

搜索使用elasticseach

3.对博文的修改以及删除

修改:对相应博客重新导入修改后的markdown文件

删除:删除数据库记录与html文件

4.博文列表

坚持原创技术分享,您的支持将鼓励我继续创作!