SpringBoot项目实战(一)--Markdown展示工具
标签(空格分隔): spring-boot
1.前言
学习springboot时写的一个工具,因为我做接口的经常写文档,改文档,前端每次从svn更新下来很不方便,所以写了一个本地md文档读取展示工具, 前端访问我的ip就能看到相应的文档了
展示地址: 点击进入
Github: 点击进入
2.简介
2.1前端
前端使用的是layui,相当不错,适合像我这样的对js和css不太熟,但又想做出漂亮页面的后端程序员,很容易上手,基本就是边看文档边开发,还能保证进度.
2.2后端
项目使用了Spring boot和Thymeleaf.
对于Thymeleaf用到也并不是很多,主要用到了返回Html片段这个特性,配合缓存的话很实用,但是现在前后端分离为主流开发方式下,该框架感觉用处也不是很大了.
对于Spring boot,熟悉了Bean的注入方式,Filter和Servlet的配置方式,从Properties中获取配置文件赋值给对应实例的方式,文件上传与下载以及乱码处理等.
2.2.1文件下载后格式混乱
markdown文件下载后,整个格式都乱在了一起,中间的空白以及换行都没了,这是由于字节转换器导致的,因此需要配置一下字节转换器,如下:
@Configuration
public class WEBMessageConvert {
/**
* 使用bean注入,才能使其有效果,验证的话就在Entity字段中使用fastjson的
* 注解@JSONField(serialize = false),转换出来的信息不含该字段,则成功
*/
@Bean
public HttpMessageConverters customConverters() {
.....
//文件下载使用ByteArrayHttpMessageConverter处理
ByteArrayHttpMessageConverter byteArrayHttpMessageConverter = new ByteArrayHttpMessageConverter();
//加入转换器
List<HttpMessageConverter<?>> converters = new ArrayList<>();
converters.add(byteArrayHttpMessageConverter);
return new HttpMessageConverters(converters);
}
}
关于SpringMVC消息转换器,下篇文档再仔细分析,先占坑
2.2.2关于properties文件注入数组
把properties文件自动注入到对应实体类中,如果需要注入集合的话,就需要如下写法:
#markdown文件位置
md.mdpath[0] = /root/markdown/blog/
md.mdpath[1] = /root/markdown/github/
对应实体类为:
@ConfigurationProperties(prefix = "md",locations = "classpath:setting.properties")
public final class Setting {
/**
* markdown目录
*/
private List<String> mdpath;
//省略get和set
}
2.3预览
总效果图:
文本比较工具:
文档上传