Spring Aware容器感知技术

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: ​Spring Aware是什么Spring提供Aware接口能让Bean感知Spring容器的存在,即让Bean可以使用Spring容器所提供的资源。

Spring Aware是什么

Spring提供Aware接口能让Bean感知Spring容器的存在,即让Bean可以使用Spring容器所提供的资源。

Spring Aware的分类

几种常用的Aware接口如下。

Aware接口说明

ApplicationContextAware能获取Application Context调用容器的服务

ApplicationEventPublisherAware应用事件发布器,可以用来发布事件

BeanClassLoaderAware能获取加载当前Bean的类加载器

BeanFactoryAware能获取Bean Factory调用容器的服务

BeanNameAware能获取当前Bean的名称

EnvironmentAware能获取当前容器的环境属性信息

MessageSourceAware能获取国际化文本信息

ResourceLoaderAware获取资源加载器读取资源文件

ServletConfigAware能获取到ServletConfig

ServletContextAware能获取到ServletContext

更多的可以看它的继承图。

Spring Aware的使用

如要获取容器中的某个Bean,可以继承ApplicationContextAware,让这个Bean拥有调用容器服务的能力。

importorg.springframework.beans.BeansException;

importorg.springframework.context.ApplicationContext;

importorg.springframework.context.ApplicationContextAware;

publicclassSpringAppContextimplementsApplicationContextAware{

privatestaticApplicationContextapplicationContext=null;

@Override

publicvoidsetApplicationContext(ApplicationContextapplicationContext)throwsBeansException{

if(SpringAppContext.applicationContext==null){

SpringAppContext.applicationContext=applicationContext;

}

}

publicstaticApplicationContextgetApplicationContext(){

returnapplicationContext;

}

publicstaticObjectgetBean(Stringname){

returngetApplicationContext().getBean(name);

}

publicstaticT getBean(Classclazz){

returngetApplicationContext().getBean(clazz);

}

publicstaticT getBean(Stringname,Classclazz){

returngetApplicationContext().getBean(name,clazz);

}

}

欢迎大家转发到朋友圈,和朋友们一起提升自己。

相关文章
|
25天前
|
XML Java 数据格式
编织Spring魔法:解读核心容器中的Beans机制【beans 一】
编织Spring魔法:解读核心容器中的Beans机制【beans 一】
31 0
|
1月前
|
XML Java 数据格式
Spring IoC容器初始化过程(xml形式)
Spring IoC容器初始化过程(xml形式)
36 0
|
2月前
|
XML Java 数据库连接
JAVAEE框架整合技术之spring03-SpringJdbcTemplate模板技术和事务处理
JAVAEE框架整合技术之spring03-SpringJdbcTemplate模板技术和事务处理
60 0
|
2天前
|
前端开发 Java 数据格式
10个知识点让你读懂spring MVC容器
随着 Spring Boot 逐步全面覆盖到我们的项目之中,我们已经基本忘却当年经典的 Servlet + Spring MVC 的组合,那让人熟悉的 web.xml 配置。而本文,我们想先抛开 Spring Boot 到一旁,回到从前,一起来看看 Servlet 是怎么和 Spring MVC 集成,怎么来初始化 Spring 容器的。
7 1
|
24天前
|
运维 Java Linux
深入解析:使用Docker容器化技术提升Java应用的部署效率
在快速迭代的软件开发周期中,如何保证应用的快速、一致和可靠部署成为了开发团队需要面对的重大挑战。本文将探讨如何利用Docker容器化技术,结合Java应用,实现高效、一致的部署流程。我们将从Docker的基本概念出发,详细介绍将Java应用容器化的步骤,包括创建Dockerfile、构建镜像以及运行容器等关键环节,并通过示例代码加以说明。此外,本文还将讨论在使用Docker部署Java应用时可能遇到的常见问题及其解决策略,旨在为读者提供一种提升部署效率、优化开发流程的有效方法。
262 2
|
26天前
|
虚拟化 开发者 Docker
深入浅出:利用Docker容器化技术加速Web开发流程
在本篇文章中,我们将探讨Docker容器化技术如何为Web开发带来革命性的效率提升。通过具体案例和实操示范,我们不仅会介绍Docker的基本概念和工作原理,还将深入分析如何利用Docker容器化技术简化开发环境的搭建、提高应用的可移植性以及加快部署速度。本文旨在为读者提供一种全新的视角,理解并实践如何通过Docker优化现代Web开发流程,无论是对于个人开发者还是团队项目,都将带来前所未有的便捷和效率。
14 0
|
26天前
|
负载均衡 开发者 Docker
深入浅出:利用Docker容器化技术提升Web开发效率
在快速变化的软件开发领域,开发者面临着环境一致性和项目部署效率的双重挑战。Docker作为一种先进的容器化技术,为解决这些问题提供了优雅的解决方案。本文将探讨Docker的核心概念、优势以及如何在Web开发中应用Docker来提升开发和部署的效率。通过实际案例分析,读者将了解到如何构建、分享和运行Docker容器,以确保开发环境的一致性,并加速Web应用的交付过程。
|
28天前
|
XML Java 数据格式
spring6IoC容器
spring6IoC容器
54 0
|
2月前
|
XML 存储 Java
JAVAEE框架整合技术之Spring02-AOP面向切面编程技术
JAVAEE框架整合技术之Spring02-AOP面向切面编程技术
52 0
JAVAEE框架整合技术之Spring02-AOP面向切面编程技术
|
2月前
|
XML Java 数据格式
JAVAEE框架整合技术之Spring01-IOC教程
JAVAEE框架整合技术之Spring01-IOC教程
113 0
JAVAEE框架整合技术之Spring01-IOC教程

相关产品

  • 容器镜像服务
  • 容器服务Kubernetes版