
Spring
白小T~
每天学习一个知识点,十年之后我也是大牛。
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
@NotNull中groups的作用
用来做啥的?? 顾名思义,groups应该是用作分组的,那么,分组来做什么? 怎么分组的? 其实主要是用于对参数校验的一个分组,我们在对数据做不同操作的时候,可能对其中部分字段 有非空校验,比如更新的时候A、B…字段不能为空,,新增的时候A、C字段又不能为空B是可以空的,那么我们如果单独做校验可能就显得比较麻烦,代码看起来不是那么优雅,这里引入一个分组,将不同类型操作需要校验的字段分为一组,校验的时候只需要按组去校验字段就好了。具体使用看下面的代码 怎么用? 如下实体类User ,所有字段在create的时原创 2022-03-11 14:30:28 · 6250 阅读 · 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 · 721 阅读 · 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 · 478 阅读 · 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 · 554 阅读 · 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 · 684 阅读 · 0 评论 -
Spring5 - 30个类手写实战 - 打卡第五天(手绘IOC时序图)
1. IOC&DI IOC(Inversion of Control) : 控制反转,所谓控制反转,就是把原先我们代码里面需要实现的对象创建、依赖的代码,反转给容器来帮忙实现。 DI(Dependency Injection):依赖注入,就是指对象是被动接受依赖类而不是自己主动去找,换句话说就是指对象不是从容器中查找它依赖的类,而是在容器实例化对象的时候主动将它依赖的类注入给他。 完成Be...原创 2020-05-04 16:11:20 · 500 阅读 · 0 评论 -
Spring常见问题
1. 什么是Spring框架? Spring框架是一个为Java应用程序开发提供综合、广泛的基础支持的Java平台。Spring帮助开发者解决了开发中基础性的问题。使得开发人员可以专注于应用程序的开发。Spring框架本身也是按照设计模式精心打造的。这使得我们可以在开发环境中安心地集成Spring框架,不必担心Spring是如何在后台工作的。 2.使用Spring框架能带来哪些好处? 下面列举了一...原创 2020-05-04 16:09:59 · 259 阅读 · 0 评论 -
Spring5 - 30个类手写实战 - 打卡第四天(AOP)
1.AOP 底层技术用动态代理实现。 增强、解耦。 由Spring生成的Proxy类来完成织入一些新的代码,生成一个新的类(JDK,CGLib), 要么就跟目标实现一个相同的接口 要么就是直接继承目标类,覆盖目标类的方法 真正去调用代码逻辑的时候,直接用新生成的Proxy类的代码 例:日志监听的切面 befor:记录方法开始调用时间,输出日志 after : 记录方法结束调用的时间,输出日...原创 2020-05-03 16:22:04 · 368 阅读 · 0 评论 -
Spring5 - 30个类手写实战 - 打卡第三天(MVC)
1.MVC九大组件 序号 组件名 解释 1 MultipartResolver 多文件上传的组件 2 LocalResolver 本地语言环境 3 ThemeResolver 主题模块处理器 4 HandlerMapping 保存Url映射关系 5 HandlerAdapter 动态参数适配器 6 HandlerExceptionResolver 异常拦截器 ...原创 2020-05-02 20:56:50 · 483 阅读 · 0 评论 -
Spring5 - 30个类手写实战 - 打卡第二天(IOC与DI)
相关文章:Spring5 - 30个类手写实战 - 打卡第一天(V1版本) 1.IOC中三个最重要的类 BeanDefinition : 所有配置文件(properties/xml/yml/…),在内存中的体现形式 BeanWrapper : 保存了原生对象对未来要创建的各种对象之间的关联关系 ApplicationContext : 简单的理解为它就是工厂类,它有一个getBean()的方法...原创 2020-05-01 16:03:04 · 552 阅读 · 0 评论 -
Spring5 - 30个类手写实战 - 打卡第一天(V1版本)
1.实现基本思路 2.注解类的实现 2.1 LAutowired package 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 · 794 阅读 · 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 · 552 阅读 · 0 评论