自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 资源 (1)
  • 收藏
  • 关注

原创 AOP切面以及@Valid注解执行顺序

结论:SpringBoot是先执行@Valid注解再执行切面, 所以无法将AOP的触发位置移动到@Valid之前.自定义注解如果想要在@Valid校验之前触发,要么通过拦截器, 但拦截器对参数的获取较为麻烦, 建议使用ControllerAdvice,Controller增强,然后在SpringBoot的数据绑定后的时候,去进行触发.这样可以从WebDataBinder对象中轻松获取已经被SpringBoot绑定到实体的对象

2023-02-01 14:32:25 1794

原创 实体类序列化为json时,对属性进行修改

自定义注解 , 实体类序列化为json时,对属性进行修改

2022-03-29 10:45:40 1196

原创 MyBatis返回结果数量 SQL直接查询对不上的一种可能原因

使用了嵌套查询,两个resultMap 其中使用<association/>注解关联子resultMap如果查询的数据的主键在这个子map中, (SQL可能是最左边被left join的一个,所以数据库查询没有问题),其实Mybatis在执行时,更像是把主Map放在Left join最左边, 而被association关联的子Map放在右边, 所以这里会出现数量不对的情况解决办法: 最简单的就是给 子ResultMap的主键 设置...

2021-04-09 09:32:52 1294 1

原创 仿朋友圈功能 后台关系型数据库设计构想

仿朋友圈功能 后台关系型数据库设计构想我不知道微信后台咋设计的,纯粹为了解决自己的实际问题想的,做个记录给自己看。数据存储分为三个部分: 分享记录存储 Share表 分享用户对应权限Share_user_mapping表 评论Share_comment表表1: 主键:自生成Share_id 标签 | 分类 | 点赞/点踩数 | 内容一(文字)| 内容二(图片地址数组或者视频连接)| 创建时间。。。。。表2: 主键: 自生成...

2020-09-16 15:29:38 900

原创 Maven手动创建.m2文件夹 IDEA

误删了系统盘用户文件夹下的 .m2文件夹或者想给.m2文件夹搬家的可以参考下。1. 随便找个目录新建 .m2文件夹,C盘空间不够可以随便换个盘符,不影响使用新建文件夹的时候,windows是不支持文件命以小数点开头的,这里需要用命令行创建文件夹在想要创建.m2文件夹的文件夹下按住shift加鼠标右键打开右键菜单,进入powerShell或者命令行输入命令 mkdir .m2这样文件夹就创建好了。2.在 .m2 文件夹下创建必要的文件结构找到你的maven程..

2020-06-14 15:43:08 7764

原创 idea配置老tomcat项目classes文件夹下面循环嵌套输出文件的问题

之前配置一个老项目,所有的静态文件都循环在WEB-INF/classes/WEB-INF/classes。。。下面循环生成,不耽误程序运行,后来发现是在idea的projectStruct菜单中,webRoot文件夹我给标记了个Resource资源文件夹,这里去掉之后就可以正常运行并且不会生成那些多余的文件了。权当做个记录吧。...

2020-06-08 16:41:07 1717 5

转载 如何在静态方法中使用自动注入的对象(SpringBoot--@PostConstruct)

转自:https://www.bbsmax.com/A/l1dyQZD6de/记录:在实体类中加入@Component注解和@Autowired注解时Service不能注入成功。 @Component //把普通pojo实例化到spring容器中 0 public class MyUtil{ // 这里是需要注入的Service ① ...

2020-06-06 15:20:15 2690

原创 java中的NIO是什么?

通常的NIO是指的NON Blocking IO, 非阻塞IO的缩写. java中的NIO, 官方释义是 New IO. 也有人说就是NON Blocking IO. 此处感觉无所谓. 在java中的NIO编程与传统IO相比的区别是: 传统IO是面向流的,而NIO是面向块的. 这块我得理解是, 都是渴了去接水, 传统IO是到水龙头那地儿张着嘴喝饱再走. 而NewIO是把水杯(Buffer缓冲区)放在水龙头下面,然后找个人(Selector)帮自己看...

2020-06-06 15:02:53 3121

原创 关于String对象的值存在哪了

String是一个Final类, 一旦赋值之后,就不能再修改了, 但平时编码时经常会遇到对String对象修改的情况, 那就只有一种解释: 平时对String的值的每次修改都是创建了一个新的String对象 ,并将引用指向了这个新的对象 . 因为String的值永远不会变,那么多处引用如果存储同一个字符串就没有必要为这一个不会变的字符串分配多份存储空间,可以推测出, 所有同一个值的引用最终指向的都是一块存储空间. 查询JVM规范之后,证实了...

2020-06-06 00:37:41 970

原创 idea配置tomcat,Loader delegate、Libraries、以及Dependencies

本次遇到的问题是在一个非常古老的项目上,用idea配置一个Eclipse项目时无法正常读取Context .xml中配置的数据源信息。原因其实是jar包的配置问题。开始一直认为是jar包冲突,没有考虑到配置上的原因所以一直没有找到正确的解决办法。尝试一、修改jar包版本,更换tomcat小版本、检查重复jar包 然并卵。尝试二、修改<Loader delega...

2020-04-25 01:03:37 1848 1

原创 SpringBoot 自动注入与多线程

一搜类似标题网上都是说多线程下不能自动注入,需要一个实现ApplicationContextAware的工具类来从spring容器中获取bean,然后在线程的构造方法中完成赋值。我就有些纳闷,你不用spring注入的线程对象当然不能自动注入线程内的对象了。 所以我觉得正确的操作应该是,用@Component@Scope(ConfigurableBeanFactor...

2020-03-26 18:47:03 1276

原创 反射实现自动封装javaBean

通常业务中经常会遇到需要将一些键值对封装到javaBean中的情况,就在昨天抽空利用反射实现了map键值对为输入,封装指定bean的方法,因为之前在网上看到过相关的设计代码,所以算是对记忆的实现吧,记录一下以后也许用的到。 大致设计思路就是说传入bean的class对象以及键值对的map对象,通过反射map中的key去找相应的bean中的set值的方法,最后完成封装。...

2020-03-13 11:20:00 501

原创 java List对象遍历删除的陷阱

先上错误代码:for(int i=0;i<listCTable.size();i++){ Map mapc=listCTable.get(i); if(mapc.get("accountid").equals(pid)){ listB.add(mapc.get("lookupid").toString()); }else{ listCTable....

2019-09-04 14:23:07 264

原创 关于堆排序的整理

每生成一次大(小)顶堆,将数组首位(顶)与最后一位交换,使数组减小一位,继续生成大(小)顶堆,这样就依次将剩余数列中的最大最小元素取出,生成有序列表。/* *代码实现 **/1.想要实现堆排序,首先要保证是完全二叉树     只要让任何一个节点 i 的左节点= 2*i+1                                       

2017-06-07 23:48:32 304

servlet-api-2.4.jar.zip

javax.servlet.Filter javax.servlet.Servlet javax.servlet.FilterChain javax.servlet.http.Cookie javax.servlet.FilterConfig javax.servlet.ServletConfig javax.servlet.GenericServlet javax.servlet.ServletContext javax.servlet.ServletRequest javax.servlet.http.HttpUtils javax.servlet.ServletResponse javax.servlet.ServletException javax.servlet.http.HttpServlet javax.servlet.http.HttpSession javax.servlet.RequestDispatcher javax.servlet.SingleThreadModel javax.servlet.ServletInputStream javax.servlet.ServletContextEvent javax.servlet.ServletOutputStream javax.servlet.ServletRequestEvent javax.servlet.http.NoBodyResponse javax.servlet.UnavailableException javax.servlet.ServletRequestWrapper javax.servlet.http.HttpSessionEvent javax.servlet.ServletContextListener javax.servlet.ServletRequestListener javax.servlet.ServletResponseWrapper javax.servlet.http.HttpServletRequest javax.servlet.http.HttpSessionContext javax.servlet.http.NoBodyOutputStream javax.servlet.http.HttpServletResponse javax.servlet.http.HttpSessionListener javax.servlet.ServletContextAttributeEvent javax.servlet.ServletRequestAttributeEvent javax.servlet.http.HttpSessionBindingEvent javax.servlet.http.HttpServletRequestWrapper javax.servlet.ServletContextAttributeListener javax.servlet.ServletRequestAttributeListener javax.servlet.http.HttpServletResponseWrapper javax.servlet.http.HttpSessionBindingListener javax.servlet.http.HttpSessionAttributeListener javax.servlet.http.HttpSessionActivationListener

2020-04-20

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除