自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 Spring @Configuration 和 @Component 区别

Configuration注解则用于指示一个类是Spring的配置类。总结来说,@Component主要用于标识普通组件,并由Spring容器自动管理其实例化过程,而@Configuration主要用于定义和配置Spring容器中的bean,通常与@Bean注解一起使用,提供灵活且可扩展的配置管理。在方法的第一次循环中,查找到所有带有 @Configuration 注解的 bean 定义,然后在第二个 for 循环中,通过enhancer.enhance方法对类进行增强,然后将注入类替换。

2023-11-13 11:40:55 156

原创 自定义注解支持SpEL表达式解析实例

spring日志注解实现自定义注解支持SpEL表达式解析实例。

2022-08-10 16:29:27 1021 1

原创 mapstruct版本问题解决

项目最近使用mapstruct转换实体类,但是在使用是会无法启动,原因是mapstruct和lombok的版本冲突,在pom文件中将相关替换就能启动;

2022-07-27 17:06:29 572

原创 Nacos 热加载实现方法

在Spirng项目中一般使用Spring的@Value注解 或@ConfigurationProperties 的Properties进行参数注入,这样就可以获得配置文件中的的值;@ConfigurationProperties。但是在使用Nacos管理配置时,修改配置文件的值不能同步热更新,在这注解上修改即可实现:过程是在要调用这些变化的配置的类中,通过注解 ...

2022-07-14 11:32:09 2152

原创 SpringBoot配置MVC方法

MappingJackson2HttpMessageConverter(消息转换器)借助的是Jackson来完成序列化,那么若是可以修改Jackson的配置,便可自定义输出响应内容。对于Date或者LocalDateTime类型,我们希望按照yyyy-MM-dd HH:mm:ss格式输出。SpringBoot默认装载了ObjectMapper到Spring容器,在yml......

2022-06-26 15:54:15 2747

原创 那些年不知道的Spring工具类

ApplicationContext是比BeanFactory更加强大的Spring容器,它既可以创建bean、获取bean、还支持国际化、事件广播、获取资源等BeanFactory不具备的功能。要直接在自己的代码中读取spring的bean,我们除了根据常用的set外,也可以通过spring的BeanFactoryAware接口实现,只要实现setBeanFactory方法就可以,该接口中,只有一个run方法,他执行的时机是:spring容器启动完成之后,就会紧接着执行这个接口实现类的run方法。

2022-05-24 11:06:52 218

转载 java Stream流使用方法全明白

Stream流的使用流操作是Java8提供一个重要新特性,它允许开发人员以声明性方式处理集合,其核心类库主要改进了对集合类的 API和新增Stream操作。Stream类中每一个方法都对应集合上的一种操作。将真正的函数式编程引入到Java中,能 让代码更加简洁,极大地简化了集合的处理操作,提高了开发的效率和生产力。同时stream不是一种数据结构,它只是某种数据源的一个视图,数据源可以是一个数组,Java容器或I/O channel等。在Stream中的操作每一次都会产生新的流,内部不会像普通集合操作一

2022-05-19 11:17:37 1042

原创 Redis 自定义注解 key动态设置过期时间 Springboot

通过对value的值的约定分割实现动态设置过期时间@Configuration@EnableCachingpublic class RedisCacheConfig extends CachingConfigurerSupport { @Value("${spring.cache.entryTtl:3600}") private Long entryTtl; private static final StringRedisSerializer STRING_SERIALIZ

2022-05-10 11:13:09 1004

原创 java设计模式之模板模式

模板模式:定义一个操作中的算法的框架,而将一些步骤延迟到子类中。使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。模板模式较为简单,将同公用方法抽取出来形成一个抽象类,不同方法提供方法在子类覆盖,使用的是继承。public abstract class RereshBaverage { /** * 制备饮料的模板方法 * 封装了所有子类共同遵守的算法骨架 */ public final void prepreBvergeTemplage().

2021-07-26 15:24:28 132

原创 java设计模式之外观模式

外观模式为子系统的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。

2021-07-06 16:17:10 79

原创 java设计模式之适配器模式

适配器模式:将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起,做法是将类自己的接口包裹在一个已存在的类中。适配器分为:类适配器、对象适配器、 缺省适配器模式。类适配器需要多重继承,java不能实现。缺省适配器模式是一种特殊的适配器模式,但这个适配器是由一个抽象类实现的,并且在抽象类中要实现目标接口中所规定的所有方法,但很多方法的实现都是“平庸”的实现,也就是说,这些方法都是空方法。而具体的子类都要继承此抽象类。对象适配器类图:引用head+first设计

2021-07-06 09:51:53 93

转载 java设计模式之命令模式

命令模式:将“行为请求者”与“行为实现者”解耦命令模式是对命令的封装。命令模式把发出命令的责任和执行命令的责任分割开,委派给不同的对象。每一个命令都是一个操作:请求的一方发出请求要求执行一个操作;接收的一方收到请求,并执行操作。命令模式允许请求的一方和接收的一方独立开来,使得请求的一方不必知道接收请求的一方的接口,更不必知道请求是怎么被接收,以及操作是否被执行、何时被执行,以及是怎么被执行的。下面以一个示意性的系统,说明命令模式的结构:客户端(Client)角色:创建一个具体命令(Concr

2021-06-16 11:03:51 65

原创 java的Iterator

1.Iterator使用实例:List<String> strings = new ArrayList<>();strings.add("A");strings.add("B");strings.add("C");strings.add("D");strings.add("E");Iterator<String> iterator = strings.iterator();while (iterator.hasNext()){ String .

2021-05-31 15:21:19 143

原创 SpringBoot get请求发送时间参数问题

SpringBoot请求的日期参数发送异常(org.springframework.core.convert.ConversionFailedException: Failed to convert from type [java.lang.String] to type [java.util.Date] for value ‘xxxx-xx-xx’;)最近在项目上遇到一个前端发get请求时间参数无法转换的问题,在网上找了很多解决方案,并没有解决问题最后在实体类的属性上加上DateTimeFormat注

2021-05-12 15:24:39 3422

转载 java设计模式之单例模式

个人感觉单例模式是设计模式中较为简单的模式,网上此种模式的介绍都大同小异,此处只提取重要的记录;Java中单例模式定义:“一个类有且仅有一个实例,并且自行实例化向整个系统提供。”单例模式重点就是如何保证实例是单例的:私有的构造函数:有一个私有的无参构造函数,防止其他类实例化它,且单例类也不能被继承。公有的静态方法用来获取单实例的引用(多种实现方式)。6种实现方式此处不再赘述:https://www.runoob.com/design-pattern/singleton-pattern.

2021-05-10 10:03:55 83

转载 java设计模式之工厂模式

工厂模式(Factory Pattern)是 Java 中最常用的设计模式之一。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。工厂方法(Factory Method)模式的意义是定义一个创建产品对象的工厂接口,将实际创建工作推迟到子类当中。核心工厂类不再负责产品的创建,这样核心类成为一个抽象工厂角色,仅负责具体工厂子类必须实现的接口,这样进一步抽象化的好处是使得工厂方法模式可以使系统在不修改具体工厂角色的情况下引进新的产品。工厂模式是创建型设计模式,使用工厂模式使编程者不在关.

2021-04-20 16:29:10 74

转载 java设计模式之装饰者模式

设计原则:对扩展开放,对修改关闭装饰者模式:动态的给对象添加一些额外的属性或行为,来扩展功能。提供了比继承更有弹性的代替方案。类图与角色:描述原文抽象构件角色(Component):通常是一个抽象类或者一个接口,定义了一系列方法,方法的实现可以由子类实现或者自己实现。通常不会直接使用该类,而是通过继承该类或者实现该接口来实现特定的功能。(例如,对于动物类,有一个抽象方法输出所有的功能,基本功能包括:呼吸,觅食,睡觉等等)。这是此类角色都会有的功能的集合,可以在不同的动物类中进行重用。具体构件角色

2021-03-05 11:03:19 131 2

原创 java设计模式之观察者模式

java设计模式之观察者模式概念:观察者模式定义了对象的一对多关系,这样一来当一个对象改变状态时,他的所有依赖着都会收到通知并自动更新。观察者模式主要有两个角色Subject 观察主题对象,也可以叫被观察或者被订阅对象Observer观察者或者订阅者对象,当Subject有变动,就会通知到每一个Observer实现选取菜鸟教程添加链接描述步骤 1创建 Subject 类。Subject.javaimport java.util.ArrayList;import java.ut

2021-02-23 11:49:31 97

原创 java设计模式之策略模式

java设计模式之策略模式策略模式,又叫算法簇模式,就是定义了不同的算法族,并且之间可以互相替换,此模式让算法的变化独立于使用算法的客户。理解:将同一类算法抽象为一个接口,接口有不同的实现,即为策略。在需要使用该算法的类中,定义该接口为成员。在构造中用不同策略(接口实现)实例化该成员,即可使用该策略。 这个模式涉及到三个角色:●  环境(Context)角色:持有一个Strategy的引用,即需要使用算法的类,有一个抽象策略的成员。●  抽象策略(Strategy)角色:这是一个抽象角色,通常由

2021-02-22 09:32:33 112

原创 element表格加输入框

<el-table :data="PersonList" style="width: 100%"> <el-table-column label="员工姓名" pro

2020-11-24 10:00:49 4751

原创 Mybatis集合注入之IN实例

单个参数 //如果参数的类型是List, 则在使用时,collection属性要必须指定为 listList<User> selectByIdSet(List idList);<select id="selectByIdSet" resultMap="BaseResultMap"> SELECT <include refid="Base_Column_List" /> from t_user WHERE id IN <foreach collec.

2020-11-24 09:33:18 557

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除