Java

09
Nov
Spring boot 使用AOP 通过注解处理404异常
这是一篇Spring boot aop的简单应用。应用场景我在我的应用中,如果尝试获取一个不存在的资源,例如GET /user/123,当不存在123这个用户时,我会返回404错误给前端。以前的做法是在service层获取资源,资源为null时抛出NotFoundException异常。久而久之代码里就会充斥着大量的重复判断的代码,例如ArticleDO articleDO = articleMapper.getArticle(articleId); if (articleDO == null) { throw Exceptions.notFoundException; }这明显...
404
2019/11/09
06
Nov
Spring boot 项目开启proxy代理
项目中可能会调用到一些墙外的api,例如谷歌、youtube等等的。这时候就需要给项目配置代理了。VM option调试的时候在这里面配置,打包后运行的时候直接在命令行上加参数。分别是http代理和socks代理。代码// http System.setProperty("http.proxySet", "true"); System.setProperty("http.proxyHost", "127.0.0.1"); System.setProperty("http.proxyPort"...
595
2019/11/06
04
Nov
Spring boot 部署脚本
之前的外包项目我都使用的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...
191
2019/11/04
17
Sep
Spring boot 项目多环境打包控制
在进行项目开发的时候通常会遇到环境切换的问题,例如开发环境和生产环境。不同的环境通常有不同的配置,例如数据库,redis等等。每次切换环境再手动修改配置文件明显是不可取的,今天分享一下Spring boot项目通过Maven控制代码环境。配置文件首先是配置文件application.ymlspring: profiles: active: @profileActive@application.yml主要用于控制环境以及一些通用的配置。@profileActive@即为环境变量,在pom.xml里会用到。application-dev.yml和application-prod....
513
2019/09/17
02
Aug
使用neo4j数据库管理用户关系
引言再做一些涉及到数据深度关系的管理时,传统的关系型数据库,如Mysql、Oracle就显得不那么方便了。例如一个邀请功能,A邀请了B,B邀请了C,C邀请了D,如何快速的查出D是A的第三代下家?用传统数据库,不是在查询的时候费事费劲,就是在插入的时候要想方设法。不仅是上述的场景,还有很多,比如常见的好友推荐,推特上常能看见的好友的喜欢等等。传统数据库肯定无法支撑,所以采用了一种NOSQL,图数据库,今天要介绍的neo4j也是图数据库中的老大。安装下载地址打开官网下载,可以下载Server版,也可以下载Desktop版,桌面版能更轻松友好的管理你的数据库,下面介绍桌面版的安装。下载完毕后打...
1,123
2019/08/02