
Spring
白小T~
每天学习一个知识点,十年之后我也是大牛。
展开
-
@NotNull中groups的作用
用来做啥的??顾名思义,groups应该是用作分组的,那么,分组来做什么? 怎么分组的?其实主要是用于对参数校验的一个分组,我们在对数据做不同操作的时候,可能对其中部分字段 有非空校验,比如更新的时候A、B…字段不能为空,,新增的时候A、C字段又不能为空B是可以空的,那么我们如果单独做校验可能就显得比较麻烦,代码看起来不是那么优雅,这里引入一个分组,将不同类型操作需要校验的字段分为一组,校验的时候只需要按组去校验字段就好了。具体使用看下面的代码怎么用?如下实体类User ,所有字段在create的时原创 2022-03-11 14:30:28 · 6155 阅读 · 0 评论 -
对象拷贝,你还在循环里面set吗?快来围观mapstruct,一步到位啦
mapstruct是什么?官网地址:https://mapstruct.org/官方定义:MapStruct 是一个代码生成器,它基于约定优于配置的方法,极大地简化了 Java bean 类型之间的映射实现。生成的映射代码使用普通的方法调用,因此速度快、类型安全且易于理解。个人:MapStruct 类似于org.springframework.beans.BeanUtils#copyProperties(java.lang.Object, java.lang.Object),可以实现对象的复制,不同的原创 2022-03-01 13:55:54 · 714 阅读 · 0 评论 -
合并项目中类名冲突解决方案
public class UniqueNameGenerator extends AnnotationBeanNameGenerator { @Override public String generateBeanName(BeanDefinition definition, BeanDefinitionRegistry registry) { //如果有设置了value,则用value,如果没有则是用全类名 if (definition instanceo原创 2022-02-17 17:39:31 · 472 阅读 · 0 评论 -
AOP与自定义注解
1.使用自定义注解需要引入的包<properties> <aspectj.version>1.9.1</aspectj.version></properties><!--使用AspectJ方式注解需要相应的包--><dependency> <groupId>org.aspectj</groupId> <artifactId>aspectjrt</artifactI原创 2021-11-24 11:34:39 · 540 阅读 · 0 评论 -
MyBatis-从JDBC到Spring整合MyBatis
1.MyBatis基础1.JDBC连接数据库注册驱动,获取连接创建Statement对象execute()方法执行sql把结果集转成POJO对象关闭资源下面以一个简单的例子来介绍:以本地数据库来测试: @Test public void testJdbc() throws IOException { Connection conn = null; ...原创 2020-05-05 20:27:16 · 672 阅读 · 0 评论 -
Spring5 - 30个类手写实战 - 打卡第五天(手绘IOC时序图)
1. IOC&DIIOC(Inversion of Control) : 控制反转,所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙实现。DI(Dependency Injection):依赖注入,就是指对象是被动接受依赖类而不是自己主动去找,换句话说就是指对象不是从容器中查找它依赖的类,而是在容器实例化对象的时候主动将它依赖的类注入给他。完成Be...原创 2020-05-04 16:11:20 · 491 阅读 · 0 评论 -
Spring常见问题
1. 什么是Spring框架?Spring框架是一个为Java应用程序开发提供综合、广泛的基础支持的Java平台。Spring帮助开发者解决了开发中基础性的问题。使得开发人员可以专注于应用程序的开发。Spring框架本身也是按照设计模式精心打造的。这使得我们可以在开发环境中安心地集成Spring框架,不必担心Spring是如何在后台工作的。2.使用Spring框架能带来哪些好处?下面列举了一...原创 2020-05-04 16:09:59 · 253 阅读 · 0 评论 -
Spring5 - 30个类手写实战 - 打卡第四天(AOP)
1.AOP底层技术用动态代理实现。增强、解耦。由Spring生成的Proxy类来完成织入一些新的代码,生成一个新的类(JDK,CGLib),要么就跟目标实现一个相同的接口要么就是直接继承目标类,覆盖目标类的方法真正去调用代码逻辑的时候,直接用新生成的Proxy类的代码例:日志监听的切面befor:记录方法开始调用时间,输出日志after : 记录方法结束调用的时间,输出日...原创 2020-05-03 16:22:04 · 355 阅读 · 0 评论 -
Spring5 - 30个类手写实战 - 打卡第三天(MVC)
1.MVC九大组件序号组件名解释1MultipartResolver多文件上传的组件2LocalResolver本地语言环境3ThemeResolver主题模块处理器4HandlerMapping保存Url映射关系5HandlerAdapter动态参数适配器6HandlerExceptionResolver异常拦截器...原创 2020-05-02 20:56:50 · 471 阅读 · 0 评论 -
Spring5 - 30个类手写实战 - 打卡第二天(IOC与DI)
相关文章:Spring5 - 30个类手写实战 - 打卡第一天(V1版本)1.IOC中三个最重要的类BeanDefinition : 所有配置文件(properties/xml/yml/…),在内存中的体现形式BeanWrapper : 保存了原生对象对未来要创建的各种对象之间的关联关系ApplicationContext : 简单的理解为它就是工厂类,它有一个getBean()的方法...原创 2020-05-01 16:03:04 · 532 阅读 · 0 评论 -
Spring5 - 30个类手写实战 - 打卡第一天(V1版本)
1.实现基本思路2.注解类的实现2.1 LAutowiredpackage com.liulin.spring.framework.annotation;import java.lang.annotation.*;/** * Create by DbL on 2020/4/29 0029 */@Target({ElementType.FIELD})@Retention(Re...原创 2020-04-30 17:51:38 · 773 阅读 · 3 评论 -
反射在Spring框架中的应用-IOC容器实现
IOC控制翻转,它是一种设计思想,而并非实际的技术,最核心的思想就是预先将设计的对象实例创建的控制权交给程序(IOC容器)IOC容器的本质是一个K-V结构的map配置文件<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xm...原创 2020-04-12 23:49:38 · 544 阅读 · 0 评论