- 博客(16)
- 收藏
- 关注

原创 如何优雅又庶民地在Github Pages中上线Ghost博客系统
序篇笔者对于「想要拥有个人网站」这事儿,在过去几年总会偶尔灵光一现,心血来潮地买下几个月的轻应用服务器以及域名,然后兴高采烈地架设起来,更换各种博客主题,记录一些学习心得;然而,潮起之后马上潮落,有时课程或实习太充实,无暇更新。再者,每到续费的时候,掂量掂量口袋里的钞票,穷大学生最终还是选择了多吃几餐饕餮盛宴。在这若干次的尝试中,用过阿里云、腾讯云的服务器,国内访问很快,但备案起来很麻烦;买过Amazon,Wix,GoDaddy 以及 Ghost.org 的服务,但是限制较多,需要信用卡,而且墙内速度令
2020-06-06 17:46:39
1043
1
原创 Spring Boot 中 @ControllerAdvice 的几种简单使用 (@ExceptionHandler、@ModelAttribute、@InitBinder)
@ControllerAdvice 可以在 Spring Boot 中实现对一些功能的 AOP,通过 @ExceptionHandler、@ModelAttribute、@InitBinder 等注解来实现全局异常处理、全局数据管理以及参数预处理等功能。全局异常处理通过 @ControllerAdvice 与 @ExceptionHandler 就能够构建一个类似拦截器的功能,检测整个程式运行时候所发生的异常,并且根据不同的异常对他们进行相应的处理。比方说,在一个上传文件的功能中,我们设置了一个文件上传
2020-06-11 20:46:35
315
原创 Spring Boot 中的文件上传 以及 多文件上传
Spring Boot 相对于 MVC,简化了文件上传的步骤。它自带提供了 MultipartResolver 来管理文件上传,以下就来看一个最简单的例子:upload.html<form action="/upload" method="post" enctype="multipart/form-data"> <input type="file" name="targetFile" value="Select your file: "> <input type="
2020-06-11 18:12:46
271
原创 Spring Boot 中的静态资源访问 以及 自定义访问策略
在默认情况下,有五个位置被 Spring Boot 认定为可以读取到静态资源的位置。它们分别为:classpath:/META-INF/resources、classpath:/resources/、classpath:/static/、classpath:/static/与/,优先级依次降低。也就是说,将可以被读取的文件放置在这些地址,通过浏览器就可以访问了。比如当前在中间放置了 wallpaper.png ,访问 localhost:8080/wallpaper.png 就可以读取了。采用自定义规则
2020-06-11 16:41:22
216
原创 在 Spring Boot 使用自定义 JSON 转换器 (Gson 与 FastJson)
在 Spring Boot 之后,采用 @RestController 就无需再添加 @ResponseBody 了,因为 Spring Boot 中自带了 Jackson 提供的转换器 MappingJackson2HttpMessageConverter 来实现,即 jackson-databind。但是有时候考虑到企业中,最求高效率高运能的状况。有很多工程师会选择使用 Google 提供的 Gson 以及由阿里巴巴开发的、号称目前 JSON 解析速度最快的 Fastjson 框架。接下来将介绍如何将
2020-06-11 15:23:12
818
原创 [解决] Spring Boot 中使用 jackson-databind 或 fastjson 传输中文时出现乱码
在不使用 Gson 的情况下,传输中文很容易出现乱码的情况,因此必须在 application 配置文件中进行以下配置:server.servlet.encoding.force-response=true
2020-06-11 15:10:39
738
原创 Spring Boot 整合 ThymeLeaf 最基本示例
ThymeLeaf 是新一代的模版引擎,虽然个人觉得其实最近比较流行采用 React 或 Vue.js 等前端框架进行开发,而不采用模版引擎。因此这里只简单的介绍一下 ThymeLeaf 如何与 Spring Boot 进行整合,有关于 ThymeLeaf 的语法这里不做复习。添加依赖在新创建一个工程的时候,想要使用 ThymeLeaf 十分简单,只需要在 maven 中添加 spring-boot-stater-web 和 spring-boot-stater-thymeleaf 两种依赖即可:&l
2020-06-10 15:55:16
284
原创 Spring Boot 复习 - 入门与基础配置篇
这一系列将从最基础,对 Spring Boot 进行复习。这一篇将复习 Spring Boot 入门级别的基础知识。(参考《Spring Boot+Vue 全栈开发实战》)1. Hello, Spring Boot!添加依赖虽然平常使用官网、开发工具或 Maven 模版直接生成依赖文件即可,但还是可以从头复习一下这个过程。可以添加 spring-boot-starter-parent 作为 parent,这样方便了所有需要引用的 spring-boot 依赖,有利于依赖管理。<parent.
2020-06-10 14:16:04
173
原创 Properties 文件、YAML 文件与类型安全配置属性
在 Spring Boot 中,application.properties 配置一会出现在项目的四个位置中,它们在项目运行时都会被读取,但具备优先级,优先级较高的将会覆盖掉其他的配置,它们优先级从高到低依次为:根目录下 /config 文件夹中的根目录中的classpath 中的 /config 文件夹下的classpath 根目录下的采用 YAML 时,优先级也一样。类型安全配置属性 (Type-safe Configuration Properties)Spring 允许使用注解
2020-06-10 14:10:23
274
原创 重定向 Spring Boot 中的 HTTP 地址至 HTTPS
在 Spring Boot 中设定了 HTTPS 后 HTTP 地址无法访问?那是因为 Spring Boot 本身不支持同时在配置中启动 HTTP 和 HTTPS,所以如果现在想要访问 http://localhost:8080 的话,将会报 Bad Request。这里常见的解决方法就是将 HTTP 请求重定向至 HTTPS 的地址,配置方法如下:package pers.dc.config;import org.apache.catalina.Context;import org.apach
2020-06-10 09:28:58
787
1
原创 为 Spring Boot 中的 Tomcat 添加 HTTPS 地址
在介绍如何添加 HTTPS 前,看复习一下 tomcat 容器的基本配置。在 Spring Boot 项目中,可以内置各种容器。而在使用 spring-boot-starter-web 依赖之后,会默认使用 tomcat 作为容器。以下是在 application.properties 中一些基本配置:server.port=8088server.error.path=/404server.servlet.session.timeout=30mserver.servlet.context-path=
2020-06-10 09:26:44
265
原创 定制 Spring Boot 的 启动 banner
在 Spring Boot 启动时,会显示一个由字符组成的 Spring 图案。这是可以被更改的,方法也十分简单。只需要在 resource 目录下添加一个 banner.txt即可。而其中的内容,就会在启动的时候被显示出来,只需要 Google 一下 “ascii 图像生成器”,就可以生成艺术文字了,如: _ _ _ _ ____ _ _| | | | ___ | || | ___ | __ ) ___
2020-06-06 20:41:55
157
原创 @SpringBootApplication 解析
去看 @SpringBootApplication 的源码后会发现,它其实是由多个注解组成://...@SpringBootConfiguration@EnableAutoConfiguration@ComponentScan( excludeFilters = {@Filter( type = FilterType.CUSTOM, classes = {TypeExcludeFilter.class}), @Filter( type = FilterType.CU
2020-06-06 20:18:46
141
原创 Spring Boot 中的依赖版本控制、Java 版本控制与编码控制
在实际的开发过程中,尤其在企业实际开发中,都会采用自定义的 parent 而不是 spring 提供的。因此,为了达到一样的效果从而替代掉这个 parent,需要了解它究竟提供了哪些配置:Java 版本默认使用 1.8编码格式采 UTF-8提供依赖版本管理默认的资源过滤和插件配置首先我们先解决 版本控制 的问题<dependencyManagement> <dependencies> <dependency> <groupId
2020-06-06 20:00:25
324
原创 如何在 Mac 上安装 Maven
安装 Apache Maven 的过程十分简单,即将 mvn 的 bin文件夹位置添加至环境路径的配置文件中。下载 Maven至 Apache Maven 官网下载,下载地址。选择 Binary 版本的文件进行下载。安装 Maven解压刚刚下载好的文件,并移动到不会被误删的位置。注意,需要记录这个位置,之后会用。笔者的安装位置为:~/apache-maven-3.6.3。而后采用以下命令,确定 Java 的环境变量 JAVA_HOME 有被正确设定 (如果有设定,则会得到第二行的结果):
2020-06-06 17:39:16
3552
原创 Mac 下的 JAVA_HOME 环境变量设定
Mac 下的 JAVA_HOME 环境变量设定查看 Java 版本java -version检查 JAVA_HOMEecho $JAVA_HOME如果没有路径显示,则说明这台 Mac 还未设定 JAVA_HOME。设置 JAVA_HOME采用以下命令搜索该 Mac 上有哪些版本的 JDK:/usr/libexec/java_home -V而后得到如下结果:Matching Java Virtual Machines (1): 14.0.1, x86_64: "J
2020-06-06 17:20:42
1904
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人