自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2、深入了解注解机制

注解的属性和默认值Java注解可以包含属性和默认值,属性可以是任意基本数据类型、String、枚举类型、Class对象、注解类型和它们的一维数组类型。例如:其中,属性通过名称和值的方式进行赋值,如:@TestAnnotation(name=“test”, value=100)。Java注解的元素类型包括普通类型(例如:int、String、boolean等)、Class类型、String数组类型、枚举类型和注解类型。元素类型用于限制注解可以存储的值的类型。例如:注解的使用方式Java注解可以用于类、

2023-08-02 15:44:35 390 9

原创 Java基础——深入了解泛型机制

首先我们写一个测试类,} }然后我们可以用javap -c Test.class编译或者java的plugins:jclasslib-bytecode-viewer,得出以下L1ICONST_1ICONST_2) V L2RETURNL3从编译结果来看,它内部字节码编译的时候增加了以下几个字节码ICONST_1ICONST_2这就是所谓的桥方法。

2023-06-01 14:19:08 721 3

原创 Java基础——面向对象

在同一个类中,只要方法的方法名相同,那么这几个方法就构成重载。重载方法的参数类型和参数个数可以不同,返回值的类型也可以不同,无法根据返回值类型来判断一个方法是不是重载方法。重载方法的权限可以是是任意权限,这是没有要求的。重载的作用是:减少代码长度,它是更高效利用方法的一种方式,它的特征就是在引用方法的时候添加不同的参数,让程序走向不同的方向,它作用于单个类中。

2023-04-27 15:06:58 418

原创 Spring——最全Spring目录

领域:对支付(FMS,FUND,PAY),订单(OMS),出行行业等有相关的开发领域。,有兴趣的可以私聊博主一起编写,或者给颗star。公众号:小白的Java进阶之路。

2023-01-05 14:51:02 1699 7

原创 【Spring【AOP】】——21、@EnableAspectJAutoProxy注解详解?

我们会进入refresh()方法里面的,并且会执行到下面这一行重要代码,//注册Bean处理器,然后拦截bean创建。然后我们进入registerBeanPostProcessors方法中,看一下其核心实现,她就是调用了 PostProcessorRegistrationDelegate的registerBeanPostProcessors(beanFactory, this)静态方法。

2023-01-05 14:40:08 2714 5

原创 【Spring【IOC】】——19、使用@Profile注解实现开发、测试和生产环境的配置和切换?

公众号:小白的Java进阶之路,有兴趣的可以私聊博主一起编写,或者给颗star领域:对支付(FMS,FUND,PAY),订单(OMS),出行行业等有相关的开发领域。

2022-12-28 01:26:11 1874

原创 【Spring【AOP】】——20、搭建一个AOP测试环境?

AOP的全称是Aspect Oriented Programming,即面向切面编程。是实现功能统一维护的一种技术,它将业务逻辑的各个部分进行隔离,使开发人员在编写业务逻辑时可以专心于核心业务,从而提高了开发效率。

2022-12-27 03:13:16 883

原创 【Spring【IOC】】——18、自定义组件中如何注入Spring底层的组件?

其实说白了就是哪个接口需要获取配置,那么那个接口就需要进行实现该接口 EnvironmentAware并实现里面的 setEnvironment方法/**其实说白了就是哪个接口需要获取配置,那么那个接口就需要进行实现该接口并实现里面的set方法}哪个类需要获取配置信息那么该类就需要进行该接口 environmentAware 的实现实现 environmentAware 这个接口所提供的方法 setEnvironment()通过 environment 进行配置信息获取。

2022-12-27 01:26:32 923

原创 【Spring【IOC】】——17、@Resource注解和@Inject注解?

Resource注解和@Autowired注解的功能是一样的,都能实现自动装配,只不过@Resource注解默认是按照组件名称(即属性的名称)进行装配的。虽然@Resource注解具备自动装配这一功能,但是它是不支持@Primary注解优先注入的功能的,而且也不能像@Autowired注解一样能添加required=false属性。

2022-12-14 21:48:29 1313

原创 【Spring【IOC】】——16、使用@Autowired、@Qualifier、@Primary这三大注解自动装配组件?

如果方法只有一个IOC容器中的对象作为参数,当@Autowired注解标注在这个方法的参数上时,我们可以将@Autowired注解省略掉。也就说@Bean注解标注的方法在创建对象的时候,方法参数的值是从IOC容器中获取的,此外,标注在这个方法的参数上的@Autowired注解可以省略。

2022-12-14 21:42:06 758

原创 【Spring【IOC】】——15、使用@PropertySource加载配置文件

通过@PropertySource注解可以将properties配置文件中的key/value存储到Spring的Environment中,Environment接口提供了方法去读取配置文件中的值,参数是properties配置文件中定义的key值。

2022-12-14 21:35:39 1280

原创 【Spring【IOC】】——14、如何使用@Value注解为bean的属性赋值呢?

{···}:用于执行SpEl表达式,并将内容赋值给属性${···}:主要用于加载外部属性文件中的值KaTeX parse error: Expected 'EOF', got '#' at position 7: {···}和#̲{···}可以混合使用,但是必…{}在里面。

2022-12-14 21:24:37 1099

原创 【Spring【IOC】】——13、BeanPostProcessor在Spring底层是如何使用的?

1、ApplicationContextAwareProcessor2、BeanValidationPostProcessor3、InitDestroyAnnotationBeanPostProcessor4、AutowiredAnnotationBeanPostProcessor

2022-12-14 21:19:36 595

原创 【Spring【IOC】】——12、BeanPostProcessor的执行流程?(源码分析)

在最后的2.11中InitializeBean方法中,调用了invokeInitMethods(beanName, wrappedBean, mbd);方法,他的主要作用是执行初始化相关方法,我们可以看一下其源码可以发现他是先执行所有的的子类之后然后再去调用在XML配置文件的标签中使用init-method属性指定的初始化方法;在@Bean注解中使用initMehod属性指定的方法;

2022-12-14 21:11:42 1024

原创 【Spring【IOC】】——11、了解BeanPostProcessor后置处理器

BeanPostProcessor在Spring中是一个很强大的后置处理器接口,常用于注解处理,比如我们常用的@Value本质就是用这个后置处理器处理,那么BeanPostProcessor长的是什么样子的呢?代码如下。

2022-11-28 00:14:24 881

原创 【Spring【IOC】】——10、@PostConstruct注解和@PreDestroy注解

公众号:小白的Java进阶之路,有兴趣的可以私聊博主一起编写,或者给颗star领域:对支付(FMS,FUND,PAY),订单(OMS),出行行业等有相关的开发领域。

2022-11-28 00:11:51 874 1

原创 【Spring【IOC】】——9、如何指定初始化和销毁的方法?

我们这次主要是针对SpringBean的最后两步讲解,就是Bean的初始化,和销毁。具体怎么操作,我们只需要对通过@Bean注解指定初始化和销毁方法。使用InitializingBean和DisposableBean我们可以发现,Spring的Bean在单例的时候,他会按顺序执行初始化构造初始化完成Bean销毁(容器关闭的时候)

2022-11-22 23:32:55 1452 5

原创 【Spring【IOC】】——8、如何使用FactoryBean向Spring容器中注册bean?

一般情况下,Spring是通过反射机制利用bean的class属性指定实现类来实例化bean的。在某些情况下,实例化bean过程比较复杂,如果按照传统的方式,那么则需要在标签中提供大量的配置信息,配置方式的灵活性是受限的,这时采用编码的方式可以得到一个更加简单的方案。Spring为此提供了一个org.springframework.bean.factory.FactoryBean的工厂类接口,用户可以通过实现该接口定制实例化bean的逻辑。

2022-11-21 02:58:36 1509 9

原创 【Spring【IOC】】——7、@Import注解给容器中快速导入一个组件

Spring3.0之前我们可以通过XML方式去指定扫描特定的包将类注入到Spring容器中,Spring3.0之后通过JavaConfig的方式将Bean的元信息以代码的方式进行描述,我们可以通过@Configuration与@Bean配合使用将原来配置在XML方文件里面的Bean通过Java代码描述。

2022-11-17 01:00:24 2264 15

原创 【Spring【IOC】】——6、按照条件向Spring容器中注册bean

Conditional注解可以按照一定的条件进行判断,满足条件向容器中注册bean,不满足条件就不向容器中注册bean。

2022-11-17 00:54:44 768 2

原创 【Spring【IOC】】——5、@Lazy懒加载

懒加载就是Spring容器启动的时候,先不创建对象,在第一次使用(获取)bean的时候再来创建对象,并进行一些初始化懒加载,也称延时加载,仅针对单实例bean生效。单实例bean是在Spring容器启动的时候加载的,添加@Lazy注解后就会延迟加载,在Spring容器启动的时候并不会加载,而是在第一次使用此bean的时候才会加载,但当你多次获取bean的时候并不会重复加载,只是在第一次获取的时候才会加载,这不是延迟加载的特性,而是单实例bean的特性。

2022-11-17 00:52:44 1172

原创 【Spring【IOC】】——4、使用@Scope注解设置组件的作用域

Scope注解能够设置组件的作用域,我们先来看看@Scope注解类的源码,如下所示。

2022-11-17 00:50:31 661

原创 【Spring【IOC】】——3、自定义TypeFilter指定@ComponentScan注解的过滤规则

如果实现自定义规则进行过滤时,自定义规则的类必须是org.springframework.core.type.filter.TypeFilter接口的实现类按照自定义规则进行过滤,首先我们得创建org.springframework.core.type.filter.TypeFilter接口的一个实现类,例如MyTypeFilter/*** @description: 自定义规则/*** 参数:* metadataReader:读取到的当前正在扫描的类的信息。

2022-11-17 00:45:06 1340

原创 【Spring【IOC】】——2、使用@ComponentScan自动扫描组件并指定扫描规则

我们可以使用@ComponentScan注解来指定Spring扫描哪些包,可以使用excludeFilters()方法来指定扫描时排除哪些组件,也可以使用includeFilters()方法来指定扫描时只包含哪些组件。当使用includeFilters()方法指定只包含哪些组件时,需要禁用掉默认的过滤规则。

2022-11-17 00:43:22 1114 4

原创 【Spring【IOC】】——1、使用@Configuration和@Bean给容器中注册组件

我们在使用注解方式向Spring的IOC容器中注入JavaBean时,如果没有在**@Bean注解中明确指定bean的名称**,那么就会使用当前方法的名称来作为bean的名称;如果在**@Bean注解中明确指定了bean的名称**,那么就会使用**@Bean注解中指定的名称来作为bean的名称**。

2022-11-17 00:34:36 1276 11

原创 SpringCloud Alibaba——精读Nacos+CMDB+核心源码阅读(7w字长篇)

1、服务发现与健康监测2、动态配置服务3、动态DNS服务4、服务及其元数据管理动态配置服务让您能够以中心化、外部化和动态化的方式管理所有环境的配置。动态配置消除了配置变更时重新部署应用和服务的需要。配置中心化管理让实现无状态服务更简单,也让按需弹性扩展服务更容易。动态服务发现对以服务为中心的(例如微服务和云原生)应用架构方式非常关键。Nacos支持DNS-Based和RPC-Based(Dubbo、gRPC)模式的服务发现。Nacos也提供实时健康检查,以防止将请求发往不健康的主机或服务实例。借助Na

2022-11-13 03:57:40 5111 27

原创 从0到一开发微信小程序(6)—小程序常用API

可以理解为就是Java的模板设计模式。抽象出公有的页面功能定义为组件,重复使用,减少重复代码。

2022-09-28 01:10:54 3933

原创 从0到一开发微信小程序(7)—小程序组件库(提高开发效率)

Vant 是一个轻量、可靠的移动端组件库,于 2017 年开源。目前 Vant 官方提供了Vue 2 版本、Vue 3 版本和微信小程序版本,并由社区团队维护React 版本和支付宝小程序版本。

2022-09-22 10:51:16 3278 1

原创 从0到一开发微信小程序(5)—小程序WXML

因为 wx:if 之中的模板也可能包含数据绑定,所以当 wx:if 的条件值切换时,框架有一个局部渲染的过程,因为它会确保条件块在切换时销毁或重新渲染。同时 wx:if 也是惰性的,如果在初始渲染条件为 false,框架什么也不做,在条件第一次变成真的时候才开始局部渲染。相比之下,hidden 就简单的多,组件始终会被渲染,只是简单的基于CSS控制显示与隐藏。一般来说,wx:if 有更高的切换消耗而 hidden 有更高的初始渲染消耗。

2022-09-22 10:47:19 1649 2

原创 从0到一开发微信小程序(4)—小程序组件

小程序中常用的基础视图,有三种,分别是view,text,imageview:视图容器text:文本image:图片。支持 JPG、PNG、SVG、WEBP、GIF 等格式,2.3.0 起支持云文件ID。view的显示效果跟div是一样的,我们可以理解为它就是一个html中的div,它属于块级元素注意:如果需要滚动视图,请使用scroll-view测试代码:新建一个views页面,在views.wxml中添加:展示效果:文本,承载页面文本信息,类似span的功能text 是行内元素温馨提示

2022-09-22 10:38:36 2657 1

原创 从0到一开发微信小程序(3)—小程序框架配置

意义:开发目录:配置如下:1.1.1.2、生成页面方式第一种方式第二种方式:保存之后总结:我们可以发现第二种方式更好,因为少了很多步骤,可以偷偷懒!。支持 static / manual / auto |修改app.json文件中的window属性配置展示效果:如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以通过 tabBar 配置项指定 tab 栏的表现,以及 tab 切换时显示的对应页面。其中 list 接受一个数组,只能配置最少 2 个、最多 5

2022-09-15 14:38:15 29148 5

原创 从0到一开发微信小程序(2)——开发第一个小程序

pages下面是不同的页面,它可以有多个,而app.*文件有且仅有一个。

2022-09-15 14:28:17 2422

原创 从0到一开发微信小程序(1)——申请账号并安装开发环境

微信小程序其实就是一种不需要下载安装即可使用的应用,它基于微信运行,类似于APP,不过无需下载安装,想用就用,用完即走,不占内存。

2022-09-14 20:03:48 3537 3

原创 如何用Docker容器部署项目,并外部访问?

docker部署项目

2022-09-11 16:37:16 7740 6

原创 1、深入了解MySQL中内部组件架构(连接器,查询缓存,分析器,优化器,执行器等)

深入了解MySQL中内部组件架构的每一个点

2022-08-18 02:18:05 1407

原创 生产经验篇(3)——生产MySQL全链路压测

生产MySQL全链路压测

2022-08-18 00:51:11 754

原创 生产经验篇(2)——真实环境的MySQL机器配置规划

真实环境的MySQL机器配置规划

2022-08-18 00:49:22 1365

原创 生产经验篇(1)——删库,怎么修复?

MYSQL删库跑路怎么办?

2022-08-18 00:47:02 721

原创 一文解决SQL调优实战

sql调优实战篇+原理篇

2022-08-12 12:49:20 836

原创 2、MYSQL之InnoDB一次数据更新流程

MYSQL精通系列第二篇

2022-08-12 10:48:09 776

空空如也

空空如也

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

TA关注的人

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