今日份的目标
完成日志统计
完成数据库设计
版本使用git上传
顺便一提(spring security自己用的确实不熟
打算验证登录这块把前台服务做完再做(不然调试也麻烦…
或许用shiro体验会更不错唉(
流程
装配插件
装配mybatisX插件
(突然多了好多鸟
setting -> plugin ->search mybatisX
配置日志
这里我们来一手AOP!
从切面入手!
草, 开局导包导错了改了好久bug
但至少能初步使用了! 咱再改改!
过了二十分钟(…
Done!
成功获取了url ip 方法 和参数
package com.bedivere.gardenofavalon.asepect;
import lombok.AllArgsConstructor;
import lombok.Data;
import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.annotation.*;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;
import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import javax.servlet.http.HttpServletRequest;
import java.util.Arrays;
//定义切面, 开启主键扫描
@Aspect
@Component
public class LogAspect {
private Logger logger = LoggerFactory.getLogger(this.getClass());
@Pointcut("execution(* com.bedivere.gardenofavalon.controller.*.*(..))") //定义切入点表达式
public void log(){}
//切面之前
@Before("log()")
//通过切面来获取对象
public void doBefore(JoinPoint joinPoint) {
//先拿到url 和 ip
ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes();
HttpServletRequest request = attributes.getRequest();
String url = request.getRequestURL().toString();
String ip = request.getRemoteAddr();
String classMethod = joinPoint.getSignature().getDeclaringTypeName() + "." + joinPoint.getSignature().getName();
Object[] args = joinPoint.getArgs();
RequestLog requestLog = new RequestLog(url, ip, classMethod, args);
logger.info("Request : {}", requestLog);
}
@After("log()")
public void doAfter() {
// logger.info("------doAfter--------");
}
@AfterReturning(returning = "result", pointcut = "log()")
public void doAfterReturn(Object result){
//打印返回值
logger.info("Result: {}", result);
}
//日志记录url 访问者的ip 方法 参数
private class RequestLog {
private String url;
private String ip;
private String classMehtod;
private Object[] args;
public RequestLog(String url, String ip, String classMehtod, Object[] args) {
this.url = url;
this.ip = ip;
this.classMehtod = classMehtod;
this.args = args;
}
@Override
public String toString() {
return
"url='" + url + '\'' +
", ip='" + ip + '\'' +
", classMehtod='" + classMehtod + '\'' +
", args=" + Arrays.toString(args) +
'}';
}
}
}
写完后发现别人怎么有日志文件我没有(草.jpg
即使设置了path还不生效…百度, 启动!
我寻思这样也咩有鸭
好耶! 有了, 但还是没有存到log文件夹里, 目前放在根目录
这样设置名字的话就会输出到log文件夹里了!
配置Druid数据源
在pom.xml里导入好所需要的包
数据库设计
养成描述好习惯(防止以后看不懂呜呜
git上传
在gitee新建了一个库, 名字就叫Avalon!
(草, 这图硬是上传了两分钟, 学校网这不是稀烂(x
git add . (记得把target去掉 呜呜呜不然好大!
工作区间传到缓存区
git commit -m “输入上传的信息”(
缓存区间传到本地仓库
git status
查看当前状态(看看是否还在缓存区
git push + shh
本地仓库上传到远程仓库
https://gitee.com/KnightBedivere/avalon