spring 提供的aware的接口:
BeanNameAware :可以获取容器中bean的名称
BeanFactoryAware:获取当前bean factory这也可以调用容器的服务
ApplicationContextAware: 当前的applicationContext, 这也可以调用容器的服务(可以获得Spring容器的所有服务)
MessageSourceAware:获得message source,这也可以获得文本信息
applicationEventPulisherAware:应用事件发布器,可以发布事件,
ResourceLoaderAware: 获得资源加载器,可以获得外部资源文件的内容
Demo
@Configuration @ComponentScan(ls.aware") public class AwareConfig { }
public class AwareMain {public static void main(String[] args){AnnotationConfigApplicationContext annotationConfigApplicationContext = new AnnotationConfigApplicationContext(AwareConfig.class);AwareService awareService = Bean(AwareService.class);awareService.outputResult();annotationConfigApplicationContext.close();} }
@Service public class AwareService implements ResourceLoaderAware , BeanNameAware {private String beanName;private ResourceLoader resourceLoader;@Overridepublic void setBeanName(String beanName) {this.beanName = beanName;}@Overridepublic void setResourceLoader(ResourceLoader resourceLoader) {sourceLoader = resourceLoader;}public void outputResult(){System.out.println("Bean的名称是:"+beanName);Resource resource = Resource("");try{//此处的IOUtils,是来自 org.apachemons.io.IOUtils;System.out.println("ResourceLoader内容:"+ InputStream()));}catch (IOException e){e.printStackTrace();}} }
本文发布于:2024-02-05 07:55:33,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170727812664725.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |