java框架
文章平均质量分 92
孙新404
这个作者很懒,什么都没留下…
展开
-
起底spring data JPA全部增删改查(CRUD)方式
起底spring data JPA全部增删改查(CRUD)方式前言Repository方式标准方法自定义方法CriteriaQuery方式Entity管理方式JPQL(HQL)方式原生SQL方式总结前言 本文会按照封装的等级的高低,介绍spring data JPA为数据库基本操作(增删改查,CRUD)提供的所有方式。如果读者需要手撸一遍,手边又没有现成项目能够上手,参考spring data JPA的简单入门可以帮助你搭建一个简单的demo。本文同时也是s原创 2020-07-14 13:09:28 · 2322 阅读 · 0 评论 -
Spring Boot 前世今生和整体架构分析
依托于Servlet的Spring Boot spring boot是目前java微服务广泛使用的Web框架,本身内部的核心模块是嵌入的tomcat和spring mvc。 spring mvc设计上遵循Servlet标准,是在标准Servlet接口的基础上实现后续的请求处理和应答。一个Servlet本身并不能独立运行,需要依托外部Servlet容器加载到应用中才能工作。tomcat就是servlet容器中的佼原创 2020-06-21 15:20:20 · 1361 阅读 · 0 评论 -
Spring Data JPA的简单入门
前言 spring data JPA是spring团队打造的sping生态全家桶的一部分,本身内核使用的是hibernate核心源码,用来作为了解java持久层框架基本构成的样本是再好不过的选择。最近闲来无事,构建了一个demo工程,用来阅读spring data JPA源码,这对于宏观了解持久层框架的基本工作、微观分析spring data JPA的原理和优缺点、避免使用过程中采坑,将会有一定的帮助。基本工程搭建 &nb原创 2020-06-13 21:38:28 · 505 阅读 · 0 评论 -
Java数据库持久层框架基础:jdbc原理和使用综述
Java数据库持久层框架基础:jdbc原理和使用综述前言jdbc基础架构jbdc的使用jdbc的主要接口驱动连接连接池会话Statement结果集ResultSet前言 目前java web项目流行的各种数据库持久层框架,如mybatis以及mybatis plus等mybatis各种变体、ORM框架包括Hibernate、spring data JPA等,底层的数据库访问都是依托于jdbc。虽然成熟项目中使用上述的持久层框架,并不能感知到jdbc的存在,但原创 2020-05-15 14:26:53 · 982 阅读 · 0 评论 -
spring mvc 常见拦截过滤处理器Interceptor、Filter、Converter等对比
spring mvc 常见拦截过滤处理器Interceptor、Filter、Converter等对比前言Filter原理使用Intercepter原理使用Converter原理使用Binder前言 spring mvc提供了完整的服务框架,能够对web请求进行预处理,包括参数解析、错误校验等。但是有些时候,开发者需要自行对请求进行预处理,比如设置......原创 2020-05-05 14:30:55 · 1049 阅读 · 0 评论 -
spring boot原理分析(九):上下文Context即世界2
spring boot原理分析(九):上下文Context即世界2前言上下文准备上下文刷新附:前言 上下文Context可以说spring boot中最重要的一个概念,不仅包含了tomcat和spring mvc的启动和管理,还对spring mvc原有模式中的bean注册进行了大幅简化,理解Spring boot的Context可以说是理解spr......原创 2020-04-12 15:34:52 · 1701 阅读 · 0 评论 -
spring boot原理分析(八):上下文Context即世界1
前言 上下文Context可以说spring boot中最重要的一个概念,不仅包含了tomcat和spring mvc的启动和管理,还对spring mvc原有模式中的bean注册进行了大幅简化,理解Spring boot的Context可以说是理解spring boot的基础。 原理分析(六)介绍了s......原创 2020-04-05 13:45:49 · 2316 阅读 · 0 评论 -
spring boot原理分析(七):spring boot运行时事件的监听
spring boot原理分析(七):spring boot运行时事件的监听前言事件事件基础定义事件的类型事件的处理注册一个事件监听的处理器事件监听的处理器如何处理事件ApplicationContextEvent事件监听实例前言 在原理分析(六)介绍spring boot启动流程中涉及到的组件或者模块的准备,事件监听器就是其中的一块。事件监听器的......原创 2020-03-29 14:26:51 · 1269 阅读 · 0 评论 -
spring mvc @RequestBody @ResponseBoy(@RestController)原理解析
spring mvc @RequestBody @ResponseBoy (@RestController)原理解析前言作为参数解析器适配参数解析器参数解析器运作作为返回值处理器适配返回值处理器返回值处理器运作后记前言 在spring mvc原理(十一)和(十二)介绍了spring mvc如何使用HandlerAdpter对不同类型的请求进行适配处......原创 2020-03-15 10:50:38 · 1445 阅读 · 0 评论 -
spring boot原理分析(六):spring boot应用启动流程综述
前言 在原理分析(一)已经整体概括了spring boot实现,spring boot主要是在已有Servlet容器+Servlet模板的基础上进行整合。具体来说包括三种,tomcat + spring mvc的模式是其中的一种,另外两种分别是Undertow+Servlet和Jetty+Servlet的模式。另外,大部分的外部模块的加入都是使用sp......原创 2020-03-01 15:00:58 · 586 阅读 · 0 评论 -
spring boot原理分析(五):依赖包中bean自动配置之Mybatis和自定义包配置
前言 原理分析(三)介绍了spring boot项目中自带的外部依赖的自动化配置,比如jdbc、redis、MongoDB、Kafka、amqp等比较常见的外部依赖项目。除此之外,还有一些不太常见的项目,或者仅仅是因为没有被纳入到spring boot优待范畴中的项目,它们的bean自动化配置也是需要考虑的方面。再进一步,有些项目模块甚至是我们自己内......原创 2020-02-20 10:50:10 · 1376 阅读 · 0 评论 -
tomcat + spring mvc原理(十二):spring mvc请求的适配处理和返回2
tomcat + spring mvc原理(十二):spring mvc请求的适配处理和返回2前言处理流程request转换获取WebDataBinderFactory创建ModelFactory和初始化model方法和方法的参数参数解析与方法调用参数解析的分析参数解析器的管理参数解析器的分类设置返回值返回值处理器的分类前言 HandleAdapt......原创 2020-02-12 16:26:39 · 696 阅读 · 0 评论 -
tomcat + spring mvc原理(十一):spring mvc对请求的适配处理和返回1
tomcat + spring mvc原理(十一):spring mvc对请求的适配处理和返回1前言HandlerAdapter的整体结构处理请求的具体实现参数格式可变的HandlerMethod的处理父类AbstractHandlerMethodAdapterRequestMappingHandlerAdapter处理流程简述前言 原理九和原理十......原创 2020-02-12 15:53:15 · 555 阅读 · 0 评论 -
tomcat + spring mvc原理外传:spring mvc与前端的纠葛
tomcat + spring mvc原理外传:spring mvc与前端的纠葛前言spring mvc的设计思想spring mvc的前后端一体化模式spring boot + Thymeleaf的demospring mvc专职后端模式spring mvc的RESTful Web服务前言 本来准备继续分析spring mvc的核心组件Handl......原创 2020-01-30 18:51:57 · 414 阅读 · 0 评论 -
spring boot原理分析(四):项目依赖包中bean的自动配置2之tomcat属性配置
前言 原理分析(三)因为偷…额,为了保持结构上的独立性,只介绍了spring boot如何加载了自动配置类,并没有分析自动配置类加载bean和配置环境的原理。这个点才是spring boot改进tomcat + spring mvc框架繁琐配置问题的最终关键所在。不过,由于自动配置类过多,不能一一列举,所以这里只会将比较典型而且对分析后面代码有意义的......原创 2020-01-19 16:07:50 · 821 阅读 · 0 评论 -
“回调”和java中的LambdaSafe类
在阅读spring boot源码时发现了WebServerFactoryCustomizerBeanPostProcessor类中有LambdaSafe.callbacks(WebServerFactoryCustomizer.class, getCustomizers(), webServerFactory) .withLogger(We...原创 2020-01-11 18:04:14 · 633 阅读 · 1 评论 -
spring boot原理分析(三):项目依赖包中bean的自动配置1
spring boot原理分析(三):项目依赖包中容器的自动配置1前言自动配置注解@EnableAutoConfiguration环境上下文:基础包配置自动化配置类的导入获取自动配置类的依赖信息获取能够加载的自动配置类前言 spring boot原理分析(二)主要是介绍了@SpringBootConfiguration注解所包含的@SpringBo......原创 2020-01-11 17:47:00 · 1747 阅读 · 0 评论 -
spring boot原理分析(二):项目内bean的注入
按照spring boot原理分析(一)规划,第一部分先分析spring boot的环境自动配置、加载所需要的bean是如何实现的。 根据bean的所属项目,spring boot的bean的加载分为两种:一类是项目中定义的、启动类所在包下的bean,比如自定义的@Controller、@Service......原创 2020-01-06 13:41:29 · 1947 阅读 · 0 评论 -
spring boot原理分析(一):spring boot原理综述
spring boot支持三种Servlet容器+Servlet的模式,tomcat + spring mvc的模式只是其中的一种,另外两种分别是Undertow+Servlet和Jetty+Servlet。我主要在tomcat + spring mvc的架构下开发,因此关于spring boot的原理的探究也会限定在这个模式。 &nbs...原创 2020-01-06 13:10:17 · 714 阅读 · 0 评论 -
tomcat + spring mvc原理(十):spring mvc如何将请求投送到Controller中的方法2
tomcat + spring mvc原理(十):spring mvc如何将请求投送到Controller中的方法2前言AbstractHandlerMethodMapping和其子类匹配条件AbstractHandlerMethodMapping及其子类初始化AbstractHandlerMethodMapping匹配请求前言 原理九介绍了Han......原创 2020-01-01 15:55:10 · 835 阅读 · 0 评论 -
tomcat + spring mvc原理(九):spring mvc如何将请求投送到Controller中的方法1
tomcat + spring mvc原理(九):spring mvc如何将请求投送到Controller中的方法 (一)前言HandlerMapping组件的整体架构接口标准和AbstractHandlerMapping前言 在原理七中列举了spring mvc的九大组件,分别是:HandlerMapping:处理器映射,寻找对应Interc......原创 2019-12-27 15:06:32 · 1260 阅读 · 0 评论 -
tomcat + spring mvc原理(八):spring mvc对请求的处理流程
tomcat + spring mvc原理(八):spring mvc对请求的处理流程前言FrameworkServlet对请求的处理DispatcherServlet对请求的处理前言 原理七讲了spring mvc整体的初始化、DispatcherServlet的继承结构和spring mvc组件的初始化。网站服务器最重要的还是提供网络服务,所以......原创 2019-12-16 14:20:37 · 980 阅读 · 0 评论 -
tomcat + spring mvc原理(七):spring mvc的Servlet和九大标准组件的静态结构与初始化
tomcat + spring mvc原理(七):spring mvc的Servlet和九大标准组件的静态结构与初始化前言tomcat中Servlet的加载Servlet的实现Servlet接口GenericServlet和HttpServletHttpServletBean和FrameworkServletDispatcherServlet前言 ......原创 2019-12-11 13:41:49 · 613 阅读 · 0 评论 -
tomcat + spring mvc原理(六):tomcat WAR包的部署与加载
tomcat + spring mvc原理(六):tomcat WAR包的部署与加载前言监控的启动原理状态监听部署项目前言 单独部署的tomcat服务器在运行中,当开发人员或者运维人员将开发工程的war包部署到服务目录时,服务器会自动进行war包的解包和类的加载运行,整个spring mvc项目就能在服务器上工作了。本文作为tomcat+sprin......原创 2019-12-09 10:07:59 · 3008 阅读 · 0 评论 -
tomcat + spring mvc原理(五):tomcat Filter组件实现原理
tomcat + spring mvc原理(五):tomcat Filter组件实现原理前言:Wrapper中Pipeline的收尾Filter的基本实现FilterChain的实现前言: 原理(四)中假装结束了tomcat消息处理的流程分析,其实偷偷留了私货–Filter的这个部分依然属于tomcat网络消息处理的一个步骤。Wrapper中Pi......原创 2019-12-03 22:09:40 · 1028 阅读 · 0 评论 -
tomcat + spring mvc 原理(四):tomcat网络请求的监控与处理2
tomcat + spring mvc 原理(四):tomcat网络请求的监控与处理前言:Container传递请求的基本原理Container传递请求的具体实现前言: 原理(三)主要讲了Connector中的容器结构、容器配置和请求监听和请求到达后在Connector中的流转,直到请求进入Container的处理边界。这篇主要是接着原理(三)继续......原创 2019-12-02 20:01:07 · 851 阅读 · 0 评论 -
tomcat+spring mvc 原理(三):tomcat网络请求的监控与处理1
tomcat+spring mvc 原理(三):tomcat网络请求的监控与处理前言:请求处理的准备Connector处理请求Connector内部结构请求处理的动态实现前言: tomcat + spring mvc 原理(一):tomcat原理综述总结了tomcat的整体运作原理、静态容器架构和容器配置,tomcat + spring mvc 原...原创 2019-12-02 10:45:34 · 1268 阅读 · 0 评论 -
tomcat + spring mvc原理(二):tomcat容器初始化加载和启动
@[TOC](tomcat + spring mvc原理(二):tomcat容器动态加载) tomcat + spring mvc 原理(一):tomcat原理综述比较详细的叙述了tomcat容器的静态结构和容器的配置,从tomcat动态运行来讲,我也在原理(一)中简单论述了:显然,这种运作模式要求:tomcat需要有监视指定目录,一旦有新的wa...原创 2019-11-22 17:08:05 · 1829 阅读 · 0 评论 -
bytebuddy解决spring AOP切面同一个类嵌套方法不生效问题
bytebuddy解决spring AOP切面同一个类嵌套方法不生效问题 sping AOP切面注解使用中的坑中详细介绍了spring AOP切面注解的同一个类嵌套方法不生效问题和产生的原因,这篇实际是为了完美的解决打印方法运行时间的问题。 bytebuddy是字节码生成库,可以生成和操作java的字节......原创 2019-11-19 11:27:16 · 6024 阅读 · 10 评论 -
sping AOP切面注解使用中的坑--同一个类中嵌套方法注解不生效
sping AOP切面注解使用中的坑–同一个类中嵌套方法注解不生效 在开发过程中,监控方法运行时间,然后获取程序运行的瓶颈,是一个常见的优化步骤。写一个spring切面实现的注解来实现函数运行时间的监控看上去是一个比较直接的解决方案。 使用spring AOP实现方法运行时间的日志打印,其实比较简单:......原创 2019-11-19 11:23:53 · 5578 阅读 · 2 评论 -
如何利用@Value配置普通类
如何利用@Value配置普通类 所谓普通类,也可以称为非依赖注入类或者非注册类。因为@Value使用有一些限制条件参考@Value注解使用中的坑,其中最重要的一条即为:@Value必须在注册类中使用,且类加载方式必须为注入方式。所以普通类中不能使用@Value注解内部属性,同时也不能使用@Autowired或者@Resource注入由@Value注解......原创 2019-11-05 10:48:59 · 7360 阅读 · 0 评论 -
spring mvc 的@Value注解使用中的坑——@Value神奇的不生效
spring mvc 的@Value注解使用中的坑——@Value神奇的不生效 @Value注解可以将已经加载的.properties或者.yml配置文件中的属性变量赋值给类中定义的变量。例如://student.propertiesstudent.name=xiaomingstudent.weight=2000......//Stude...原创 2019-11-04 17:35:10 · 13987 阅读 · 0 评论 -
tomcat + spring mvc 原理(一):tomcat原理综述和静态架构
tomcat + spring mvc 原理(一):tomcat原理综述tomcat + spring mvc的运作模式tomcat内部的基本容器构成tomcat容器对应的外部配置 tomat + spring mvc 是目前比较流行java微服务体系架构,包括现在的spring boot以及基于spring boot的进一步应用化封装的spring...原创 2019-10-31 09:52:09 · 3669 阅读 · 0 评论