工作3年出去面试Java,被鄙视spring的接口有哪些都不清楚

程序员、spring、编程、开发

吐槽

Java工作多年,天天简单的增删查改,spring的接口真没接触过

用的做多就是spring的注解,天天简单配置配置搞定

运行原理一概不知道

接口列表

  1. ApplicationContextAware
  2. ApplicationContext
  3. BeanFactory
  4. BeanFactoryAware
  5. BeanNameAware
  6. InitializingBean

Spring Aware是什么

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

我公司大神经常也搞个Aware接口,开始看的很懵逼,后来想想spring的接口,哦明白了

案例理解

ApplicationContextAware

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

工作3年出去面试Java,被鄙视spring的接口有哪些都不清楚

ApplicationContextAware实战应用代码案例

1

ApplicationContext

上面ApplicationContextAware例子已经用到了ApplicationContext

看到ApplicationContext继承的接口就恐怖,这么多接口

工作3年出去面试Java,被鄙视spring的接口有哪些都不清楚

1

1

工作3年出去面试Java,被鄙视spring的接口有哪些都不清楚

InitializingBean

InitializingBean接口为bean提供了初始化方法的方式,它只包括afterPropertiesSet方法,凡是继承该接口的类,在初始化bean的时候都会执行该方法。

业务代码场景

对bean的成员属性进行操作如,初始化值(最频繁),排序等等。

工作3年出去面试Java,被鄙视spring的接口有哪些都不清楚

BeanFactoryAware

在公司代码里找了一圈,发现一个案例

检查bean安全的功能,需要获取BeanFactory

然后遍历bean去检查安全

private ListableBeanFactory beanFactory;

String[] strings = beanFactory.getBeanDefinitionNames();

Object object = beanFactory.getBean(beanName);

工作3年出去面试Java,被鄙视spring的接口有哪些都不清楚

BeanFacotryAware总结

可以通过set来拿到我们要的对象,为什么还要用这个beanFactory呢

beanFactory可以更加动态的获取对象,传入beanName即可

Object object = beanFactory.getBean(beanName); 通过这种方式获取对象实例

spring接口总结

  1. 后缀Aware的接口都是可以拿来获取资源的(感知资源)
  2. 业务Bean初始要做些动作可以利用InitializingBean
  3. 通过ApplicationContextAware来获取Bean
  4. 通过BeanFacotryAware来获取Bean
  5. 通过普通set注入来获取Bean (获取Bean方式不一样,各有优点)

最后spring还有其他强大接口,以后在总结下,面试能回答3个并结合实战代码讲已经不错了

展开阅读全文

页面更新:2024-03-25

标签:接口   都会   遍历   初始化   容器   实战   实例   对象   案例   代码   简单   方式   业务   方法   工作   资源   科技

1 2 3 4 5

上滑加载更多 ↓
推荐阅读:
友情链接:
更多:

本站资料均由网友自行发布提供,仅用于学习交流。如有版权问题,请与我联系,QQ:4156828  

© CopyRight 2020-2024 All Rights Reserved. Powered By 71396.com 闽ICP备11008920号-4
闽公网安备35020302034903号

Top