SpringBoot
09
Nov
这是一篇Spring boot aop的简单应用。应用场景我在我的应用中,如果尝试获取一个不存在的资源,例如GET /user/123,当不存在123这个用户时,我会返回404错误给前端。以前的做法是在service层获取资源,资源为null时抛出NotFoundException异常。久而久之代码里就会充斥着大量的重复判断的代码,例如ArticleDO articleDO = articleMapper.getArticle(articleId);
if (articleDO == null) {
throw Exceptions.notFoundException;
}这明显...
692
2019/11/09
06
Nov
项目中可能会调用到一些墙外的api,例如谷歌、youtube等等的。这时候就需要给项目配置代理了。VM option调试的时候在这里面配置,打包后运行的时候直接在命令行上加参数。分别是http代理和socks代理。代码// http
System.setProperty("http.proxySet", "true");
System.setProperty("http.proxyHost", "127.0.0.1");
System.setProperty("http.proxyPort"...
1,608
2019/11/06
04
Nov
之前的外包项目我都使用的Jenkins自动部署,但是Jenkins本身也是一个Java应用,还挺吃内存,我个人服务器只有1G的内存,跑Jenkins会很吃力,况且还用不到几次,所以直接写一个脚本半自动部署了,这里简单记录一下。#!/bin/bash
# 打包环境
env=prod
# 端口
port=9002
jar_name=*-${env}-*.jar
# 项目运行目录
running_path=./running
echo "开始拉取项目"
git pull
echo "项目拉取完毕"
pid=$(netstat -nlp | gre...
349
2019/11/04
17
Sep
在进行项目开发的时候通常会遇到环境切换的问题,例如开发环境和生产环境。不同的环境通常有不同的配置,例如数据库,redis等等。每次切换环境再手动修改配置文件明显是不可取的,今天分享一下Spring boot项目通过Maven控制代码环境。配置文件首先是配置文件application.ymlspring:
profiles:
active: @profileActive@application.yml主要用于控制环境以及一些通用的配置。@profileActive@即为环境变量,在pom.xml里会用到。application-dev.yml和application-prod....
743
2019/09/17