美文网首页
Spring Aware 基础

Spring Aware 基础

作者: Tinyspot | 来源:发表于2024-02-04 16:33 被阅读0次

1. ApplicationContextAware 接口

  • 用于获取 bean 所在的应用上下文(ApplicationContext)
public interface ApplicationContextAware extends Aware {
    void setApplicationContext(ApplicationContext applicationContext) throws BeansException;
}

1.1 示例

@Component
public class SpringBeanUtils implements ApplicationContextAware {

    private static ApplicationContext applicationContext;

    @Override
    public void setApplicationContext(ApplicationContext applicationContext) throws BeansException {
        SpringBeanUtils.applicationContext = applicationContext;
    }
}

2. InitializingBean 接口

当一个类实现 InitializingBean 接口时,Spring IoC容器会在实例化 bean 并注入所有依赖属性后自动调用afterPropertiesSet()方法,可以用来做一些初始化工作

public interface InitializingBean {
    void afterPropertiesSet() throws Exception;
}

2.1 示例

@Component
public class UserProperties implements InitializingBean {

    @Override
    public void afterPropertiesSet() throws Exception {
        this.init();
    }

    private void init() {
        // do something
    }
}

3. 运行环境 (EnvironmentAware)

当一个类实现了EnvironmentAware接口时,Spring容器在初始化这个bean之后,会自动调用setEnvironment()方法,将当前应用的环境对象传递给该bean。
Environment 接口提供了访问系统属性、配置文件属性以及自定义属性源的能力

public interface EnvironmentAware extends Aware {
    void setEnvironment(Environment environment);
}

3.1 示例

@Component
public class EnvUtils implements EnvironmentAware {

    private static Environment environment;
    
    public static String getConfig(String configKey) {
        return environment.getProperty(configKey);
    }

    @Override
    public void setEnvironment(Environment environment) {
        EnvUtils.environment = environment;
        System.out.println(JSON.toJSON(environment));
    }
}

相关文章

  • Spring Aware容器感知技术

    ​ Spring Aware是什么 Spring提供Aware接口能让Bean感知Spring容器的存在,即让Be...

  • spring的aware们

    Aware是什么 spring框架提供了多个*Aware接口,用于辅助Spring Bean编程访问Spring容...

  • spring中Aware后缀

    aware: 意识到的;知道的; spring中带有Aware后缀的接口主要是和bean有关,实现了Aware后...

  • Spring高级应用 之Aware类

    1.Aware类为Bean感知Spring容器的存在提供支持,实现Aware类便可利用利用Spring容器中的各种...

  • SpringIoc之Aware

    Aware 概述 Aware是Spring提供的一个标记超接口,指示bean有资格通过回调样式的方法由Spring...

  • Aware Mode

    Aware接口 Spring中提供了一些以Aware结尾的接口,实现了Aware接口的bean在被初始化之后,可以...

  • Spring Aware相关接口的使用

    在spring中提供了很多关于Aware的接口,该接口拥有一个统一的规律,即在spring对实现了Aware相关接...

  • Spring AOP源码

    结合 Spring 后置处理器源码 和 Spring Aware源码 ,再来看下 Spring AOP 的源码。 ...

  • Spring之Aware

    Aware Aware提供了一种让用户实现了Aware接口的自定义bean能够感知到被spring管理的资源的能力...

  • Spring Aware与静态方法的使用自动注入

    Spring Aware 1、介绍 Spring的依赖注入的最大亮点就是你所以的Bean对Spring容器的存在是...

网友评论

      本文标题:Spring Aware 基础

      本文链接:https://www.haomeiwen.com/subject/nupfadtx.html