3.Spring高级话题—1.Spring Aware

简介:

1.点睛
Spring的依赖注入的最大亮点就是你所有的Bean对Spring容器的存在是没有意识的。即你可以将你的容器替换成别的容器,如Google Guice,这时Bean之间的耦合度很低。
但是在实际项目中,你不可避免的要用到Spring容器本身的功能资源,这时你的Bean必须意识到Spring容器的存在,才能调用Spring所提供的资源,这就是所谓的Spring Aware。其实Spring Aware本来就是Spring设计用来框架内部使用的,若使用了Spring Aware,你的Bean将会和Spring框架耦合。
Spring Aware的目的是为了让Bean获得Spring容器的服务。因为ApplicationContext接口集成了MessageSource接口、ApplicationEventPublisher接口和ResourceLoader接口,所以Bean继承ApplicationContextAware可以获得Spring容器的所有服务,但原则上我们还是用到什么接口,就实现什么接口。
2.示例
(1)准备。在ch3.aware包下新建一个test.text,内容随意,给下面的外部资源加载使用。
(2)Spring Aware演示Bean
screenshot
实现BeanNameAware、ResourceLoaderAware接口,获得Bean名称和资源加载的服务
实现ResourceLoaderAware需重写setResourceLoader方法
实现BeanNameAware需重写setBeanName方法
(3)配置类
screenshot
(4)运行
screenshot
结果
screenshot

目录
相关文章
|
3月前
|
消息中间件 NoSQL Java
Java高级开发:高并发+分布式+高性能+Spring全家桶+性能优化
Java高架构师、分布式架构、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战学习架构师之路
|
2月前
|
Java 数据库连接 测试技术
进阶之路:高级Spring整合技术解析
进阶之路:高级Spring整合技术解析
|
3月前
|
XML Java 程序员
Spring基础篇:高级注解编程
Spring基础篇:高级注解编程
|
6月前
|
监控 Java 数据安全/隐私保护
Spring Boot 高级用法 AOP 自定义注解实现日志
Spring Boot 高级用法 AOP 自定义注解实现日志
76 0
|
7月前
|
Java 数据库连接 数据库
spring高级源码笔记:深入理解阿里spring源码核心思想及框架应用
Spring 是分层的 full-stack(全栈) 轻量级开源框架,以 IoC 和 AOP 为内核,提供了展现层 SpringMVC 和业务层事务管理等众多的企业级应⽤技术,还能整合开源世界众多著名的第三⽅框架和类库,已经成为使⽤最多的 Java EE 企业应⽤开源框架。
86 0
|
8月前
|
SQL XML 前端开发
Java高级期末复习:Java EE框架整合开发入门到实战——Spring+Spring MVC+MyBatis微课版
Java高级期末复习:Java EE框架整合开发入门到实战——Spring+Spring MVC+MyBatis微课版
245 0
|
9月前
|
缓存 自然语言处理 Java
高效实现Web开发:掌握Spring Boot 2高级模块Thymeleaf的神奇妙用(下)
高效实现Web开发:掌握Spring Boot 2高级模块Thymeleaf的神奇妙用
124 0
|
9月前
|
XML 开发框架 前端开发
高效实现Web开发:掌握Spring Boot 2高级模块Thymeleaf的神奇妙用(上)
高效实现Web开发:掌握Spring Boot 2高级模块Thymeleaf的神奇妙用
120 0
|
9月前
|
Java Spring 容器
深入理解Spring IOC之扩展篇(四)、Aware接口
深入理解Spring IOC之扩展篇(四)、Aware接口
96 0
|
9月前
|
XML SpringCloudAlibaba Java
“阿里爸爸”又爆新作!Github新开源303页Spring全家桶高级笔记
Spring全家桶 不知道各位Java好大哥们闲的时候会不会去关注Spring目前的官网,你会发现他的slogan是: Spring makes Java Simple。它让Java的开发变得更加简单。某种意义上来说:是Spring成就了Java!但随之而来的就是:由他之后诞生出来的各种组件;SpringBoot,SpringCloud,SpringSecurity啥的都成了我们Java程序员必须要掌握的技能;每次面试也都是必问。

相关产品

  • 云迁移中心