![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
spring
JAVA-cjing
我是这样的人,如果你问我一个问题我不知道答案的话,我会直接告诉你“我不知道”。但我向你保证:我知道怎样找到答案,而且我一定会找出答案的
展开
-
Springboot如何设计出优雅的后端(API)接口(二)
前言接着上一篇的文章Springboot如何设计出优雅的后端(API)接口(一)首先我们回顾一下之前所说需要解决的问题:统一返回接口格式。全局异常处理。参数常规非空校验。通用的分页对象。日志统一格式。常用工具类。接口文档。接口的安全。在Springboot如何设计出优雅的后端(API)接口(一)已经解决了前4个问题,那么这篇文章就给大家解决下面4个问题。日志的统一格式日志的话我习惯性采用logback来配置:所谓的统一格式,也就是日志配置文件的内容:<?xml vers原创 2020-12-03 10:51:04 · 937 阅读 · 1 评论 -
SpringBoot整合Quartz定时任务(持久化到数据库)
背景最近在做项目,项目中有个需求:需要使用定时任务,这个定时任务需要即时生效。查看Quartz官网之后发现:Quartz提供两种基本作业存储类型:RAMJobStore :RAM也就是内存,默认情况下Quartz会将任务调度存在内存中,这种方式性能是最好的,因为内存的速度是最快的。不好的地方就是数据缺乏持久性,但程序崩溃或者重新发布的时候,所有运行信息都会丢失JDBC作业存储:存到数据库...原创 2018-12-27 14:25:44 · 65682 阅读 · 13 评论 -
http文件上传的原理以及Spring中如何处理上传文件
问题背景:最近在做人脸相关的接入,很简单的一个demo,需要图片上传功能,那么我们该怎么操作才能将图片从本地上传到服务器呢?原创 2018-10-24 15:18:40 · 2705 阅读 · 0 评论 -
springboot多模块项目搭建之基础模块
序言:之前开发项目的时候,都是在项目中根据逻辑分为dao、service、web层,这些都是在一个项目内部进行分层,所表现的形式就是不同的包。但是这种方式会带来一个问题:同一个数据表,在不同的项目中或者功能使用。所以每个项目都会配一个mybatis。如果一开始规定这个表不能改什么字段了,那这样做没问题。但事实上,一张表从开始到结束,会经历大风大浪,所以可能在多个项目中改mybatis改到晕眩...原创 2018-10-25 23:34:19 · 6583 阅读 · 0 评论 -
Junit4在SSM中应用
项目背景最近在看Spring相关知识,在看源码之后,注意到项目结构是包含main和test2个文件夹。main文件包含的当然是源文件,而test是针对src源文件构建的测试类。具体如图所示 单元测试: web项目中怎么针对某一模块进行单元测试,我之前的方法是每次启动tomcat,然后通过页面点点去触发需要测试的代码。但这样会带来一个问题: 当项目小的时候,一切ok,没问题。但是...原创 2018-05-25 17:09:42 · 900 阅读 · 0 评论 -
AOP实现原理(二)CGLIB动态代理
上一篇博客中给大家介绍了AOP中的JDK动态代理。附上地址: https://blog.csdn.net/bicheng4769/article/details/80028158回顾一下上一篇的内容,JDK动态代理必须要求目标类实现接口才能使用。那么在AOP的使用中,我们貌似没有这个限制,所以这里AOP还有一种动态代理的机制:CGLIB动态代理。什么是CGLIBCGLIB(Co...原创 2018-04-21 16:10:55 · 3404 阅读 · 1 评论 -
AOP实现原理(一)JDK动态代理
背景在前几篇文章中,我们介绍了AOP的使用方法,辣么AOP为何会如此神奇呢?通过查阅资料,我们了解到AOP的实现是通过代理去实现。 在分析问题之前我们应该有如下几点疑问: 1. 什么是代理。 2. AOP实现代理方式有几种,这几种方式各有什么优点。 3. 如何去实现AOP的代理方式。介绍动态代理 : 在程序运行期间由Java反射等机制动态生成,也就是在将class加载到j...原创 2018-04-21 15:07:15 · 2142 阅读 · 0 评论 -
在SpringAOP中如何获取方法的参数值(实体类)以及参数名
在前几篇的博客中,我利用AOP来做日志管理。感兴趣的同学可以去了解下(附上地址) https://blog.csdn.net/bicheng4769/article/details/79702778实际产生的问题在利用AOP管理日志的时候,遇到这样一个需求,需要将方法的参数、方法名记录下来。其实这样的需求很简单,我在前面那篇博客也讲过,就是利用java的反射机制获取。但是实际中会有这...原创 2018-04-19 19:34:54 · 46977 阅读 · 15 评论 -
spring中使用aop介绍
背景最近在看 spring实战,看到第四章也就是”面向切面的Spring”。 看到其中说”在一个地方定义通用功能,但是我们可以通过声明的方法定义这个功能在何处应用,无需修改受影响的类,这些类称之为切面“。上面这段话,我们其实只要抓住几个关键词 :通用功能:什么样的功能叫通用功能呢,比如日志、事务之类。何处使用:在什么地方会使用上日志、事务。无需修改:这算是aop 的一个特点吧,举个...原创 2018-03-09 18:08:14 · 420 阅读 · 0 评论 -
SpringAOP通过自定义注解实现日志管理
在最开始第一篇文章中我就给大家介绍了Spring中的AOP,大概都是一些基本概念和使用方法。附上地址:https://blog.csdn.net/bicheng4769/article/details/79501263 其实讲这么多,大家可能看一遍就会忘记,所以我习惯通过实战去加深对这个知识点的理解。现学现用嘛,所以在项目中就加上了日志管理。为什么要使用AOP作为日志管理想想如果我们...原创 2018-03-27 09:50:06 · 1200 阅读 · 0 评论 -
Spring中如何集成MongoDB
Spring集成MongoDB先引入包spring-data-mongodb<dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <versio...原创 2018-03-21 15:39:43 · 738 阅读 · 0 评论 -
MongoDB查询内嵌数组(Spring中如何使用聚合查询)(2)
Srping集合MongoDB地址:http://blog.csdn.net/bicheng4769/article/details/79626382Spring中如何使用Aggregate聚合函数原始数据:{ "_id" : ObjectId("5aab3460353df3bd352e0e15"), "addTime" : ISODate("2018-03...原创 2018-03-21 15:39:00 · 5969 阅读 · 7 评论