自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

  • 博客(35)
  • 收藏
  • 关注

原创 @Named注解源码分析

123。

2023-10-20 14:29:18 330

原创 MessageSourceAware源码分析

`MessageSourceAware` 接口,主要用于对象希望被注入`MessageSource`。`MessageSource`是Spring中用于国际化(i18n)的接口,它提供了从不同的消息资源(例如:属性文件)获取消息的方法。使用`MessageSource`,我们可以为应用程序提供国际化的消息支持。

2023-10-18 23:03:29 342

原创 BeanClassLoaderAware源码分析

接口,允许 bean 得知其加载的类加载器。当一个 bean 实现了这个接口时,Spring 容器在 bean 初始化的时候会设置它的类加载器。

2023-10-18 22:57:30 259

原创 ResourceLoaderAware源码分析

`ResourceLoaderAware` 接口,它用于为需要访问 `ResourceLoader` 的 bean 提供一个回调。`ResourceLoader` 是一个简单的策略接口,定义了如何加载底层资源(如类路径或文件系统资源)的方法。

2023-10-18 21:54:12 123

原创 ImportAware源码分析

`ImportAware` 接口,提供被导入类的访问功能。当一个类实现了 `ImportAware` 接口,并且被通过 @Import 注解导入到其他配置类中,该类可以获得对导入它的 `AnnotationMetadata` 的访问权。

2023-10-18 21:48:33 116

原创 EnvironmentAware源码分析

`EnvironmentAware` 接口,允许Beans访问`Environment`对象。这是一个回调接口,当实现该接口的Bean被Spring容器管理时,Spring容器会为该Bean设置`Environment`对象。

2023-10-18 21:42:51 289

原创 EmbeddedValueResolverAware源码分析

`EmbeddedValueResolverAware` 接口,主要用于提供一个字符串值解析器,这可以在 Bean 属性中解析占位符和表达式。如果我们熟悉 Spring 的 `${...}` 占位符和 `#{...}` 表达式,那么这个接口将帮助我们在自定义组件中解析这些值。

2023-10-18 21:19:13 117

原创 BeanNameAware源码分析

`BeanNameAware` 接口。当一个 Bean 实现了此接口,可以感知其在 Spring 容器中的名称。

2023-10-18 21:18:41 90

原创 BeanFactoryAware源码分析

`BeanFactoryAware` 接口,允许 Spring bean 获得其所在的 `BeanFactory` 的引用。当一个 bean 实现了这个接口,Spring 容器在初始化该 bean 时,会自动调用 `setBeanFactory()` 方法,并传递一个 `BeanFactory` 实例。

2023-10-18 21:06:36 151

原创 ApplicationStartupAware源码分析

`ApplicationStartupAware`接口,是为了提供对这一过程的细粒度跟踪。通过`StartupStep`,我们可以定义应用启动过程中的各个步骤,并收集关于它们的性能和上下文信息。

2023-10-18 20:50:45 126

原创 ApplicationEventPublisherAware源码分析

`ApplicationEventPublisherAware` 接口,用于给需要发布应用事件的bean提供一个便捷的方式。实现此接口的bean可以接收到一个 `ApplicationEventPublisher` 的引用,这样它们就可以发布事件到 Spring 应用上下文中。

2023-10-18 20:38:12 268

原创 ApplicationContextAware源码分析

`ApplicationContextAware` 接口,允许我们访问当前的应用上下文 (`ApplicationContext`)。这通常在某些Spring bean需要访问应用上下文本身或其内部其他bean时会有用。

2023-10-18 20:32:53 121

原创 @PreDestroy注解源码分析

123。

2023-10-18 17:59:15 64

原创 @PostConstruct注解源码分析

123。

2023-10-18 14:06:41 85

原创 @Resource注解源码分析

123。

2023-10-17 16:49:10 99

原创 @Inject注解源码分析

123

2023-10-17 11:38:10 107 1

原创 DisposableBean源码分析

`DisposableBean` 接口允许执行某些资源清理操作,比如我们可以使用这个接口来确保某些资源,比如文件句柄、网络连接、数据库连接等,被正确地释放或清理。

2023-10-15 18:21:02 186 1

原创 InitializingBean源码分析

`InitializingBean` 接口,主要用于在 bean 的所有属性被初始化后,但在 bean 被实际使用之前,执行某些初始化逻辑或设置。

2023-10-15 18:13:56 308 1

原创 SmartInitializingSingleton源码分析

`SmartInitializingSingleton`接口,用于bean初始化,当所有单例bean都已完全初始化后,用此接口进行回调。

2023-10-15 18:08:25 88 1

原创 DestructionAwareBeanPostProcessor源码分析

`DestructionAwareBeanPostProcessor` 接口,用于提供在 bean 销毁之前进行额外处理或操作的机会。其主要职责是在 bean 即将被销毁时允许执行自定义的逻辑。

2023-10-15 18:01:59 135 1

原创 SmartInstantiationAwareBeanPostProcessor源码分析

`InstantiationAwareBeanPostProcessor`。接口,能够对 Spring 容器创建的 beans 进行更精细的控制和更多的干预,尤其是在涉及代理和其他高级场景时。

2023-10-15 17:53:59 75 1

原创 MergedBeanDefinitionPostProcessor源码分析

`MergedBeanDefinitionPostProcessor` 是 Spring 框架中的一个接口,主要用于在 bean 定义被合并后(但在 bean 实例化之前)进行后处理。它扩展了 `BeanPostProcessor`,增加了处理合并 bean 定义的能力。

2023-10-15 17:42:05 143 1

原创 InstantiationAwareBeanPostProcessor源码分析

`InstantiationAwareBeanPostProcessor` 提供了在 bean 实例化之前和之后的回调。这意味着我们有机会在实际的目标 bean 实例之前返回一个代理,或者影响 bean 的构造。

2023-10-15 17:35:53 110 1

原创 BeanFactoryPostProcessor源码分析

`BeanFactoryPostProcessor` 是一个接口,任何实现此接口的类都必须提供`postProcessBeanFactory`方法的实现。此方法提供了一个机会,在bean实例化之前修改bean的定义。

2023-10-15 17:18:12 67 1

原创 BeanDefinitionRegistryPostProcessor源码分析

用于在 Spring 容器的标准初始化过程中允许我们修改应用程序上下文的内部 bean 定义。它继承自 `BeanFactoryPostProcessor` 接口。与 `BeanFactoryPostProcessor` 不同的是,它还提供了对 `BeanDefinitionRegistry` 的访问,这使得我们能够在运行时注册新的 beans 或修改现有的 bean 定义。

2023-10-15 17:10:10 94 1

原创 @Autowired注解源码分析

`@Autowired` 注解,用于实现依赖注入(Dependency Injection, DI)。当我们在 Spring 中定义了一个 Bean 并想要使用另一个 Bean 时,可以使用 `@Autowired` 注解来自动注入所需的 Bean,而我们无需手动查找和配置它。

2023-10-14 23:22:09 304 1

原创 @Value注解源码分析

`@Value` 注解,是一个非常有用的功能,它允许我们从配置文件中注入属性值到Java类的字段或方法参数中。这样,我们可以将配置和代码分离,使应用更容易配置和维护。

2023-10-13 17:33:20 239

原创 @Lazy源码分析

`@Lazy`注解,它的主要用途是延迟依赖注入的初始化。通常情况下,当 ApplicationContext 被启动和刷新时,所有的单例 bean 会被立即初始化。但有时,可能希望某些 bean 在首次使用时才被初始化。

2023-10-12 22:45:02 224

原创 @Conditional

`@Conditional`注解,是用来基于满足某些特定条件来决定一个Bean是否应该被注册到Spring容器的。这提供了一种灵活的方式来根据环境、配置或其他因素来决定是否激活或者创建某个Bean。

2023-10-12 22:38:29 59

原创 @DependsOn源码分析

`@DependsOn`注解,用于定义 Bean 初始化顺序。有时,我们可能会碰到某些 Bean 需要在其他 Bean 之前被初始化的情况。在这种情况下,我们可以使用 `@DependsOn` 注解来明确指定 Bean 的初始化顺序。

2023-10-12 22:30:51 244

原创 @PropertySource源码分析

`@PropertySource` 注解,用于指定外部的属性文件,从而将该文件中的键值对加载到 Spring 的 `Environment` 中。这样,我们就可以在应用程序中轻松地访问和使用这些属性值。

2023-10-12 22:18:05 84

原创 @Import源码分析

`@Import` 是 Spring 框架的核心注解,用于导入配置类或组件到当前的 Spring 上下文中。它可以用于导入常规的 `@Configuration` 类、常规组件类,或实现了 `ImportSelector` 和 `ImportBeanDefinitionRegistrar` 接口的类。`ImportSelector` 允许根据条件动态地选择要导入的组件,而 `ImportBeanDefinitionRegistrar` 提供了一种以编程方式注册bean的方法。

2023-09-11 14:38:20 121

原创 @Bean源码分析

`@Bean` 是 Spring 框架的核心注解,用于标记一个方法,表明这个方法返回值应被注册为 Spring 容器中的一个对象(Bean)。

2023-08-25 16:39:38 218 1

原创 @ComponentScan源码分析

`@ComponentScan` 注解,用于自动扫描特定包(和其子包)中的组件,并自动注册为 Spring 容器中的 bean。当我们使用 Spring Boot,它默认会扫描主应用程序所在的包以及子包。但是,如果我们需要更细粒度的控制,或者我们在使用传统的 Spring 而非 Spring Boot,那么我们可能会明确地使用 `@ComponentScan`。

2023-08-17 17:39:34 262 1

原创 @Configuration源码分析

`@Configuration` 是 Spring 框架中提供的一个核心注解,它指示一个类声明了一个或多个 `@Bean` 定义方法,这些方法由 Spring 容器管理并执行,以便在运行时为 bean 实例化、配置和初始化对象。

2023-08-10 16:40:58 430 1

空空如也

空空如也

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

TA关注的人

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