![](https://img-blog.csdnimg.cn/20210618175259495.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
spring
文章平均质量分 78
主要学习Spring SpringMVC SpringBoot等技术栈
程序员路同学
九八年程序员一枚,喜欢钻研技术,从事后端开发,正努力向全栈发展,如果你有更好的技术分享,欢迎私信留言
展开
-
你还在手动对数据进行校验,快来使用validation吧
本篇主要讲解使用javax.validation.constraints,org.hibernate.validator.constraints下的校验方法对实体类进行自动校验, 直接对数据进行校验,通过对接收的数据进行校验,如果不符合我们定义的要求则会提示对应的message信息,具体怎么做的,下面一步步来说明。初步介绍校验先看下javax.validation.constraints下面的一些数据校验方法:AssertFalseAssertTrueDecimalMax...原创 2021-07-09 14:41:39 · 1809 阅读 · 0 评论 -
Spring Boot(二)SpringBoot是如何启动Spring容器源码
1.ApplicationStartingEvent在运行开始时发送,但在进行任何处理之前(侦听器和初始化程序的注册除外)发送。5.在刷新上下文之后但在调用任何应用程序和命令行运行程序之前,将发送ApplicationStartedEvent。2.在创建上下文之前,将发送ApplicationEnvironmentPreparedEvent。7.在调用任何应用程序和命令行运行程序之后,将发送ApplicationReadyEvent。总结:1. 获取启动类:根据启动类加载ioc容器2.获取web应用类型。原创 2022-09-07 23:02:32 · 430 阅读 · 3 评论 -
Spring Boot(-)Spring Boot 是如何通过jar包启动的
总结一下Spring Boot应用的启动流程:(1)Spring Boot应用打包之后,生成一个Fat jar,包含了应用依赖的jar包和Spring Boot loader相关的类。(2)Fat jar的启动Main函数是JarLauncher,它负责创建一个LaunchedURLClassLoader来加载/lib下面的jar,并以一个新线程启动应用的Main函数。那么,ClassLoader是如何读取到Resource,它又需要哪些能力?查找资源和读取资源的能力。原创 2022-09-07 22:01:50 · 3245 阅读 · 0 评论 -
Spring源码分析refresh()第二篇
这个方法比较重要 实例化和调用所有已注册的BeanFactoryPostProcessor bean,如果有已经注入的BeanFactoryPostProcessor 则优先调用进入方法逐步分析:具体查看PostProcessorRegistrationDelegate类的 invokeBeanFactoryPostProcessors方法执行步骤:还记得这段代码吗注意看registryProcessor.postProcessBeanDefinitionRegistry(registry)原创 2022-07-05 20:46:24 · 155 阅读 · 0 评论 -
Spring源码分析refresh()第一篇
spring源码分析 refresh方法prepareBeanFactory 方法方法说明原创 2022-07-05 15:08:35 · 133 阅读 · 0 评论 -
Spring学习-6-Spring事务管理
Spring事务 在实际开发中,操作数据库时都会涉及到事务管理问题,为此Spring提供了专门用于事务处理的API。Spring的事务管理简化了传统的事务管理流程,并且在一定程度上减少了开发者的工作量。事务管理的核心接口1.Platform TransactionManagerPlatformTransactionManager接口是Spring提供的平台事务管理器,主要用于管理事务。该接口中提供了三个事务操作的方法,具体如下: Transacti...原创 2020-12-13 11:56:31 · 195 阅读 · 0 评论 -
Spring学习-1-Spring容器
了解SpringSpring是分层的JavaSE/EE full-stack 轻量级开源框架,以IoC(Inverse of Control 控制反转)和AOP(Aspect Oriented Programming 面向切面编程)为内核,使用基本的JavaBean来完成以前只可能由EJB完成的工作,取代了EJB的臃肿、低效的开发模式。Spring优点1:支持AOP2:支持声明式事务处理3:方便解耦、简化开发4:方便集成各种优秀框架5:方便程序测试Spring核心容器Spr原创 2020-12-10 11:05:20 · 282 阅读 · 0 评论 -
Spring学习-2-IOC和DI
IOCIOC:控制反向 在使用Spring框架之后,对象的实例不再由调用者来创建,而是由Spring容器来创建,Spring容器会负责控制程序之间的关系,而不是由调用者的程序代码直接控制。这样,控制权由应用代码转移到了Spring容器,控制权发生了反转,这就是控制反转。DIDI:依赖注入,可以为spring框架为创建的Bean对象,动态赋值, 依赖注入在spring创建对象的过程中,对象所依赖的属性通过配置注入对象中从Spring容器的角度来看,Spring容器负责将被依赖对象赋值给调用者.原创 2020-12-11 13:44:02 · 401 阅读 · 0 评论 -
SpringMvc学习-4-Spring MVC 拦截器
SPring MVC JSON数据交互Spring提供了一个HttpMessageConverter<T>接口来实现浏览器与控制器类(Controller)之间的数据交互。该接口主要用于将请求信息中的数据转换为一个类型为T的对象,并将类型为T的对象绑定到请求方法的参数中,或者将对象转换为响应信息传递给浏览器显示。在使用注解式开发时,需要用到2个重要的JSON格式转换注解,分别为@RequestBody和@ResponseBody,@RequestBody 用于将要请求的体中的数据绑定.原创 2020-12-09 16:11:40 · 114 阅读 · 0 评论 -
SpringMvc学习-1-Spring MVC了解
SpringMVC了解Spring MVC是Spring提供的一个实现了Web MVC设计模式的轻量级Web框架,提供了一个前端控制器DispatcherServlet,使开发人员无需额外开发控制器对象。web.xml配置 <!--理论上classpath的默认路径是WEB-INF/classes 解决找不到的问题 --> <context-param> <param-name>contextConfigLocation</p原创 2020-12-07 11:27:07 · 272 阅读 · 0 评论 -
SpringMvc学习-2-Spring MVC 的核心组件
Spring MVC 的核心组件DispatcherServlet:核心处理器(也叫前端控制器),负责调度其他组件的执行,可降低不同组件之间的耦合性,是整个 Spring MVC 的核心模块。Handler:处理器,完成具体业务逻辑,相当于 Servlet 或 Action。HandlerMapping:DispatcherServlet 是通过 HandlerMapping 将请求映射到不同的 Handler。HandlerInterceptor:处理器拦截器,是一个接口,如果我们需要做一些拦截原创 2020-12-07 16:31:20 · 272 阅读 · 0 评论 -
Spring学习-3-Bean配置
Bean配置如果把Spring看做一个大型工厂,则Spring容器中的Bean就是该工厂的产品。要想使用这个工厂生产和管理Bean,就需要在配置文件中告诉它需要哪些Bean,以及需要使用何种方式将这些Bean装配到一起Bean的本质就是Java中的类,而Spring中的Bean其实就是对实体类的引用,来生产Java类对象,从而实现生产和管理BeanBean的配置方式是通过XML文件来注册并管理Bean之间的依赖关系Bean属性id Bean的唯一标识,Spring容器对Bean的配置,.原创 2020-12-11 15:51:27 · 494 阅读 · 0 评论 -
Spring学习-5-JdbcTemplate数据库操作
针对数据库的操作,Spring框架提供了JdbcTemplate类,该类是Spring框架数据抽象层的基础。可以说,JdbcTemplate类是Spring JDBC的核心类。 在JdbcTemplate核心类中,提供了大量的更新和查询数据库的方法,我们就是使用的这些方法来操作数据库的。主要方法:execute()execute(String sql)方法可用于执行sql语句update()update()用于执行插入、更新和删除操作query()query()用于执行数据查..原创 2020-12-12 20:54:26 · 298 阅读 · 0 评论 -
Spring学习-4-Aop面向切面编程
AOP的全称是Aspect-Oriented Programming,即面向切面编程(也称面向方面编程)。它是面向对象编程(OOP)的一种补充,目前已成为一种比较成熟的编程方式。AOP采取横向抽取机制,将分散在各个方法中的重复代码提取出来,然后在程序编译或运行时,再将这些提取出来的代码应用到需要执行的地方。这种采用横向抽取机制的方式,采用传统的OOP思想显然是无法办到的,因为OOP只能实现父子关系的纵向的重用。虽然AOP是一种新的编程思想,但却不是OOP的替代品,它只是OOP的延伸和补充...原创 2020-12-13 11:02:33 · 1439 阅读 · 0 评论 -
SpringMvc学习-5-Spring MVC 文件上传
文件上传,需要加入commons-fileupload包,maven项目加入依赖: <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fileupload</artifactId> <version>1.4</version> </dependency>在springm原创 2020-12-10 10:54:47 · 153 阅读 · 0 评论 -
SpringMvc学习-3-Spring MVC 数据绑定
数据绑定在执行程序时,Spring MVC会根据客户端请求参数的不同,将请求消息中的信息以一定的方式转换并绑定到控制器类的方法参数中。这种将请求消息数据与后台方法参数建立连接的过程就是Spring MVC中的数据绑定。数据绑定流程 Spring MVC将ServletRequest对象传递给DataBinder; 将处理方法的入参对象传递给DataBinder; DataBinder调用ConversionService组件进行数据类型转换、数据格式化等工作,并将Se.原创 2020-12-08 13:42:52 · 488 阅读 · 0 评论 -
swagger 自动生成API文档
springboot项目中使用swagger目录springboot项目中使用swagger1:引入依赖2:配置swagger3:配置静态文件位置4:讲解swagger常用注解1:引入依赖 <swagger.version>2.7.0</swagger.version> <!--swagger --> <dependency> <groupId&..原创 2021-06-11 10:18:30 · 231 阅读 · 0 评论