首页 > 其他分享 >spring、mybatis、并发、虚拟机总结

spring、mybatis、并发、虚拟机总结

时间:2024-11-03 08:47:19浏览次数:3  
标签:spring 虚拟机 扩展 接口 bean Spring mybatis 重写 beanDefinition

1、spring扩展接口

在Spring框架中,扩展接口是一种强大的机制,允许开发者在Spring容器的生命周期中插入自定义逻辑。以下是一些常用的Spring扩展接口及其使用方式:

  1. BeanDefinitionRegistryPostProcessor

    • 这个接口在读取项目中的beanDefinition之后执行,提供一个补充的扩展点。你可以在这里动态注册自己的beanDefinition,可以加载classpath之外的bean。
    • 扩展方式为实现该接口,并重写postProcessBeanDefinitionRegistrypostProcessBeanFactory方法。
  2. BeanFactoryPostProcessor:这个接口是beanFactory的扩展接口,调用时机在Spring在读取beanDefinition信息之后,实例化bean之前。在这个时机,用户可以通过实现这个扩展接口来自行处理一些东西,比如修改已经注册的beanDefinition的元信息。扩展方式为实现该接口,并重写postProcessBeanFactory方法。

  3. InstantiationAwareBeanPostProcessor:该接口继承了BeanPostProcess接口,增加了在实例化阶段和属性注入阶段的扩展能力。主要方法包括postProcessBeforeInstantiationpostProcessAfterInstantiationpostProcessPropertyValuespostProcessBeforeInitializationpostProcessAfterInitialization。扩展方式为实现该接口,并根据需要重写相应的方法。

  4. FactoryBean:Spring通过反射机制利用bean的class属性指定支线类去实例化bean,如果实例化Bean过程比较复杂,可以通过实现FactoryBean接口定制实例化Bean的逻辑,扩展方式为实现该接口,并重写getObjectgetObjectTypeisSingleton方法。

  5. SmartInitializingSingleton:这个接口中只有一个方法afterSingletonsInstantiated,其作用是在Spring容器管理的所有单例对象(非懒加载对象)初始化完成之后调用的回调接口。扩展方式为实现该接口,并重写afterSingletonsInstantiated方法。

  6. CommandLineRunner:这个接口也只有一个方法run(String... args),触发时机为整个项目启动完毕后,自动执行。如果有多个CommandLineRunner,可以利用@Order来进行排序。

2、mybatis

     直接执行sql需要用sqlrunner, 如果参数传的是null,需要用到Mybatis的Null.String,执行脚本的话需要用ScriptRunner

     不管是阅读源码还是写业务代码,可以用伪代码的格式写出整个框架,然后可以代码实现;写系统框架的时候需要设计出类和功能接口,高内聚低耦合

3、并发

  用top, top H查看线程情况,dump线程

  jstack pid > /home/admin/temp/dump1

  然后用fastthread.io分析线程信息

4、JVM

  jvm需要根据垃圾收集器进行调优,可以dump jvm, 用clipse mat分析堆信息

     

标签:spring,虚拟机,扩展,接口,bean,Spring,mybatis,重写,beanDefinition
From: https://blog.csdn.net/wangyantao111/article/details/143456031

相关文章

  • springboot月度员工绩效考核管理系统
    摘 要科学时代的发展改变了人类的生活,促使网络与计算机技术深入人类的各个角落,得以普及到人类的具体生活中,为人类的时代文明掀开新的篇章。本系统为月度员工绩效考核管理系统,是专为企业开发的对员工考核的协助软件。可以帮助企业对于员工的绩效考核进行更为正规、规范的管......
  • Spring框架中的AOP是什么?如何使用AOP实现切面编程和拦截器功能?
    1、Spring框架中的AOP是什么?如何使用AOP实现切面编程和拦截器功能?在Spring框架中,AOP(Aspect-OrientedProgramming,面向切面编程)是一种用于处理程序中不同方面的技术,例如日志、安全性、事务管理等。通过AOP,我们可以将特定的代码片段(称为切面)应用到应用程序的不同方面,而无需修......
  • 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现六
    一、前言介绍:1.1项目摘要随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势。传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速、便捷需求。这些问题不仅影响了快递服务的效率,也增加了快递员和消费者的不便。在这样的背景下,快递柜......
  • 基于SpringBoot+Vue的旧物回收管理系统的设计与实现(源码+lw+部署+讲解)
    文章目录1.前言2.详细视频演示3.具体实现截图4.技术可行性分析5.技术简介5.1后端框架SpringBoot5.2前端框架Vue5.3系统开发平台6.系统架构设计7.程序操作流程8.业务流程设计9.为什么选择我们9.1自己的公众号9.2海量实战案例10.代码参考11.数据库参考12.源码及文档获取......
  • 基于Java+SpringBoot+Mysql实现的快递柜寄取快递系统功能实现五
    一、前言介绍:1.1项目摘要随着电子商务的迅猛发展和城市化进程的加快,快递业务量呈现出爆炸式增长的趋势。传统的快递寄取方式,如人工配送和定点领取,已经无法满足现代社会的快速、便捷需求。这些问题不仅影响了快递服务的效率,也增加了快递员和消费者的不便。在这样的背景下,快递柜......
  • springboot集成ElasticSearch使用completion实现补全功能
    @目录摘要springboot代码依赖代码kibana代码第一部分:设置index、type、mapping第二部分:批量插入第三部分:执行第四部分:结果展示本人先关其他文章链接摘要所谓自动补全功能就是“百度搜索框”中每敲下一个字符下面的提示框就会动态改变提示的功能,就是下面的效果:↓说明:使用RestH......
  • springboot智能停车场管理系统的设计与实现 84e3y
    目录项目技术路线系统实现截图技术栈说明本课题软硬件环境核心代码部分展示源码获取-详细视频演示项目技术路线本课题使用了SpringBoot、Vue和MySQL作为技术栈,体现了其技术可行性。SpringBoot作为轻量级Java开发框架,能提高开发效率和降低系统复杂度;Vue作为流行的前......
  • springboot社区饮水机自动售水系统的设计和实现
    目录项目技术路线系统实现截图技术栈说明本课题软硬件环境核心代码部分展示源码获取-详细视频演示项目技术路线本课题使用了SpringBoot、Vue和MySQL作为技术栈,体现了其技术可行性。SpringBoot作为轻量级Java开发框架,能提高开发效率和降低系统复杂度;Vue作为流行的前......
  • java开发基于springboot框架生鲜海鲜商城交易系统设计与实现
    目录项目技术路线系统实现截图技术栈说明本课题软硬件环境核心代码部分展示源码获取-详细视频演示项目技术路线本课题使用了SpringBoot、Vue和MySQL作为技术栈,体现了其技术可行性。SpringBoot作为轻量级Java开发框架,能提高开发效率和降低系统复杂度;Vue作为流行的前......
  • 基于springboot的网络海鲜市场系统,附源码+数据库+论文,包安装调试
    1、项目介绍网络海鲜市场系统把操作该系统的用户群分为两类,即管理员,用户。管理员对于网络海鲜市场系统操作的功能包括对商品资讯,用户信息,商品信息等进行增删改查,同时可以回复用户对商品的评价,以及管理商品订单和论坛帖子。其用例图如图3.4所示:用户对于网络海鲜市场系统操作......