Spring Aware的目的是为了让Bean获得Spring容器的服务

//获取容器中的bean名称
import org.springframework.beans.factory.BeanNameAware;
//获得资源加载器,可以获得额外的资源
import org.springframework.context.ResourceLoaderAware;

package ch2.aware;
import java.io.IOException;import org.apache.commons.io.IOUtils;
//获取容器中的bean名称
import org.springframework.beans.factory.BeanNameAware;
//获得资源加载器,可以获得额外的资源
import org.springframework.context.ResourceLoaderAware;
import org.springframework.core.io.Resource;
import org.springframework.core.io.ResourceLoader;
import org.springframework.stereotype.Service;//AwareService是spring的一个组件
@Service
//实现BeanNameAware,ResourceLoaderAware资源的接口,获得名称和资源加载的服务
public class AwareService implements BeanNameAware,ResourceLoaderAware {private String beanName;private ResourceLoader loader;//实现ResourceLoaderAware需要重写setResourceLoader@Overridepublic void setResourceLoader(ResourceLoader resourceLoader) {// TODO Auto-generated method stubthis.loader = resourceLoader;}//实现BeanNameAware需要重写setBeanName@Overridepublic void setBeanName(String name) {// TODO Auto-generated method stubthis.beanName = name;     }public void outputResult(){System.out.println("bean的名字为:"+ beanName);Resource resource = loader.getResource("classpath:ch2/aware/test.txt");try {System.out.println("ResourceLoader加载的内容为:" + IOUtils.toString(resource.getInputStream()));} catch (IOException e) {// TODO Auto-generated catch blocke.printStackTrace();}}}

 配置:

package ch2.aware;
import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;//声明本类是一个配置类
@Configuration
//自动加载ch2.aware包下面的内容
@ComponentScan("ch2.aware")
public class AwareConfig {}

  运行:

package ch2.aware;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;public class Main {public static void main(String[] args){AnnotationConfigApplicationContext context= new AnnotationConfigApplicationContext(AwareConfig.class);AwareService awareService  = context.getBean(AwareService.class);awareService.outputResult();context.close();}}

  

spring boot: spring Aware的目的是为了让Bean获得Spring容器的服务相关推荐

  1. 78. Spring Boot完美使用FastJson解析JSON数据【从零开始学Spring Boot】

    [原创文章,转载请注明出处] 个人使用比较习惯的json框架是fastjson,所以spring boot默认的json使用起来就很陌生了,所以很自然我就想我能不能使用fastjson进行json解析 ...

  2. Spring Boot+Vue前后端分离商城实战(二)Spring Boot 项目构建及使用

    在介绍了基础环境搭建之后,这一篇文章将介绍如何使用 IDEA 进行 Spring Boot 项目的开发和调试,希望大家能够尽快上手和体验 Spring Boot 项目开发.关于 Spring Boot ...

  3. spring boot 项目源码_Spring Boot2 系列教程(三)理解 Spring Boot 项目中的 parent

    前面和大伙聊了 Spring Boot 项目的三种创建方式,这三种创建方式,无论是哪一种,创建成功后,pom.xml 坐标文件中都有如下一段引用: <parent><groupId& ...

  4. java版spring cloud+spring boot+redis社交电子商务平台(八)消息总线(Spring Cloud Bus)

    B2B2C电子商务平台源码请加企鹅求求:一零三八七七四六二六.Spring Cloud Bus 将分布式的节点用轻量的消息代理连接起来.它可以用于广播配置文件的更改或者服务之间的通讯,也可以用于监控. ...

  5. jar注册成服务器,Spring Boot项目生成jar包,并在windows服务器中注册成服务,开机启动(示例代码)...

    背景: 使用Spring Boot开发的Web项目,打包生成了一个jar包,希望能部署在Windows服务器中 尝试: 1.Spring Boot生成的jar包,可以直接用java -jar运行,但是 ...

  6. spring boot +vue用什么记录登录状态_为什么很多Spring Boot开发者放弃了Tomcat

    前言 在 Spring Boot 框架中,我们使用最多的是 Tomcat,这是 Spring Boot 默认的容器技术,而且是内嵌式的 Tomcat.同时,Spring Boot 也支持 Undert ...

  7. spring boot 教程(一) 构建我的第一个Spring boot

    Spring Boot特点 1. 创建独立的Spring应用程序 2. 嵌入的Tomcat,无需部署WAR文件 3. 简化Maven配置 4. 自动配置Spring 5. 提供生产就绪型功能,如指标, ...

  8. Spring Boot教程(十五)使用Intellij中的Spring Initializr来快速构建Spring Boot/Cloud工程...

    在之前的所有Spring Boot和Spring Cloud相关博文中,都会涉及Spring Boot工程的创建.而创建的方式多种多样,我们可以通过Maven来手工构建或是通过脚手架等方式快速搭建,也 ...

  9. Spring Boot配置属性(567个,丁雪峰 译 《Spring Boot 实战》 附录)

    flyway flyway.baseline 执行基线时标记已有Schema的描述 flyway.baseline-on-migrate 在没有元数据表的情况下,针对非空 Schema执行迁移时是否自 ...

最新文章

  1. Android .so .aar..jar文件的使用方式
  2. WORD 粘贴代码 不检查语法
  3. matlab常用函数——文件操作函数
  4. 解决阿里云服务器磁盘报警
  5. 解决CsrfFilter与Rest服务Post方式的矛盾
  6. Java Swing创建自定义闪屏:在闪屏上添加Swing进度条控件(转)
  7. 重磅!清华大学网上课程面向全国免费开放!无需登录、注册!在家上清华!...
  8. 数据结构(C语言版)
  9. 个人使用整理的部分测试数据整理-输入类2022
  10. Unity基础补漏(1)_GameObject类_Time类_Transform类_Camera_光面板_物理面板/物理材质_碰撞检测函数_刚体加力
  11. 钻井液中PHP是指什么,关于钻井液,你必须知道这些…
  12. stm32usb做虚拟串口和键盘_在MINI STM32 板子上实现USB虚拟串口
  13. 虚幻5会对行业产生什么重大变化影响?
  14. 吴军《知识、智慧和能力》
  15. 集装箱编号校验码规则及java程序的实现
  16. Android中的适配
  17. 同等学历申硕计算机综合,2019年同等学力人员申请硕士学位外国语水平和学科综合水平全国统一考试[计算机]训练题及答案...
  18. CF 617E 莫队
  19. 大数据——Flink dataStream 中窗口函数的使用
  20. U-Mail反垃圾邮件网关过滤Locky勒索邮件

热门文章

  1. matlab figure 嵌套,操作Matlab的Figure窗口(一)
  2. mysql 数据库设计规范_MYSQL数据库设计规范与原则
  3. unity中链接字符串和变量显示_理解Unity中的优化(六):字符串和文本
  4. php7安装mysqli扩展_Ubuntu14版本下无法使用php7.2版本的bcmath扩展
  5. Linux系统编程下做一个简易的shell
  6. C++ JSON库:JSON for Morden C++
  7. 非常精简的Linux线程池实现(一)——使用互斥锁和条件变量
  8. Linux系统编程——线程池
  9. diff and colordiff on Ubuntu
  10. 【VS C++ 2010】查看内存的方法详解