程序员、spring、编程、开发
Java工作多年,天天简单的增删查改,spring的接口真没接触过
用的做多就是spring的注解,天天简单配置配置搞定
运行原理一概不知道
Spring提供Aware接口能让Bean感知Spring容器的存在,即让Bean可以使用Spring容器所提供的资源。(通俗讲感知资源)
我公司大神经常也搞个Aware接口,开始看的很懵逼,后来想想spring的接口,哦明白了
如要获取容器中的某个Bean,可以继承ApplicationContextAware,让这个Bean拥有调用容器服务的能力。
ApplicationContextAware实战应用代码案例
1
上面ApplicationContextAware例子已经用到了ApplicationContext
看到ApplicationContext继承的接口就恐怖,这么多接口
1
1
InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的类,在初始化bean的时候都会执行该方法。
业务代码场景
对bean的成员属性进行操作如,初始化值(最频繁),排序等等。
在公司代码里找了一圈,发现一个案例
检查bean安全的功能,需要获取BeanFactory
然后遍历bean去检查安全
private ListableBeanFactory beanFactory;
String[] strings = beanFactory.getBeanDefinitionNames();
Object object = beanFactory.getBean(beanName);
BeanFacotryAware总结
可以通过set来拿到我们要的对象,为什么还要用这个beanFactory呢
beanFactory可以更加动态的获取对象,传入beanName即可
Object object = beanFactory.getBean(beanName); 通过这种方式获取对象实例
最后spring还有其他强大接口,以后在总结下,面试能回答3个并结合实战代码讲已经不错了
页面更新:2024-03-25
本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828
© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号